栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

鸟哥的Linux私房菜学习笔记(二)

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

鸟哥的Linux私房菜学习笔记(二)

鸟哥的Linux私房菜学习笔记(二) 档案与目录管理 目录与路径

cd,改变目录

$ cd ~ # 返回家目录

pwd,查询当前路径

$ pwd [-P]
# -P:显示出准确的路径,而非使用链接(link)路径

例子:

mkdir,建立目录

$ mkdir [-mp] 目录名称
#	-m:设定档案的权限
#	-p:顺便建立所需要的上层目录

# 例子
$ mkdir -p test1/test2/test3/test4 # 当没有上层文件夹时需要添加-p
$ mkdir -m 711 test2 # 直接设定权限为rwx--x--x

rmdir,删除空目录

$ rmdir [-p] 目录名称
# -p 连同上层的空目录一起删掉

$PATH,关于执行档路径的变量

$ echo $PATH # 查询当前默认搜索路径
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

$ PATH="${PATH}:/root" #将路径添加到默认搜索路径中
档案与目录管理

ls

$ ls [-adl] 档名或者目录名称
# 选项及参数
-a	全部的档案,连同隐藏档一起列出来
-d	仅列出目录本身,而不是列出目录内的档案资料
-l	长资料串列出,包括档案的属性与权限等等资料
# $ ll 相当于 ls -l

--color=never	不要依据档案特性基于颜色显示
--color=always	显示颜色
--color=auto	让系统自行判断是否给予颜色
--full=time		以完整的时间模式输出
--time={atime,ctime}	输出access时间或者改变权限属性时间,而非内容变更时间

cp

$ cp [-adfilprsu] 来源(source) 目的地(destination)
$ cp [options] source1 source2 source3 .... directory

# 选项及参数:
-a  :相当于 -dr --preserve=all (常用)
-d  :若source为链接档(link file),则复制链接档的属性而非档案本身
-f  :为强制(force)的意思,若目标档案已经存在且无法开启,则移除后在尝试一次
-i  :若destination已经存在,在覆盖时先询问是否覆盖(常用)
-p  :连同档案的属性一起复制过去,而非使用预设属性(备份常用);
-r  :循环复制,用于复制目录 (常用)

--preserve=all :除了 -p 的权限相关参数意外,还加入 SELinux 的属性, links, xattr 等也进行复制

# 最后需要注意的,如果source有两个以上,則最后一个destination一定要是『目录』才行!

rm

$ rm [-fir] 档案或目录

# 选项与参数
-f	force,忽略不存在的啊档案,不会出现警告信息
-i	互动模式,删除前会询问使用者是否动作
-r	循环删除,用于删除目录

mv,移动档案或目录,或更名

$ mv [-fiu] source destination
$ mv [options] source1 source2 source3 .... directory

# 选项与参数:
-f  :force,如果目标档案已经存在,不会询问而直接覆盖;
-i  :若destination存在时,会询问是否覆盖
-u  :若destination已经存在,只有在source更新时才会覆盖
档案内容查阅

cat——从第一行开始显示内容

$ cat [-nb] 文件名

# 选项及参数
-b	列出非空白行的行号
-n	列出行号,包括空白行

tac——从最后一行开始显示内容

nl——打印的时候顺便添加行号

more——一页一页翻动

​ more会在最后一行显示目前显示出的百分比,有以下快捷键

空格:下一页Enter:下一行/字串:查询该字串:f:立即显示出档名及目前显示的行数q:退出b:往回翻页

less——比more更好用

​ less可以方便的往前往后翻看文件

空格、pagedown:向下翻一页pageup:向上翻一页/字串:向下搜索?字串:向上搜索n:重复前一个搜索N:反向重复前一个搜索g:到资料的第一行G:到资料的最后一行q:退出

head——取出前面几行

$ head [-n number] 档案

-n	取出几行

tail——取出后面几行

od——查看非纯文字档案

$ od [-t TYPE] 檔案

# 选项或参数:
-t  :后面可以接各种『类型 (TYPE)』的输出,例如:
      a       :利用预设的字来输出;
      c       :使用 ASCII 字元来输出
      d[size] :利用十进制(decimal)来输出
      f[size] :利用浮点数(floating)来输出
      o[size] :利用八进制(octal)来输出
      x[size] :利用十六进制(hexadecimal)来输出

touch——修改档案时间或新建档案

$ touch [-acdmt] 档案

# 选项与参数:
-a  :只改 access time;
-c  :只改档案的时间,如果不存在文件也不新建
-d  :后面可以接想改为的日期而不用目前的日期,也可以使用 --date="日期或时间"
-m  :只改 mtime ;
-t  :后面可以接想改为的时间而不用目前的時間,格式为[YYYYMMDDhhmm]
档案与目录的预设权限与隐藏权限

umask——目前使用者在建立档案或目录时候的权限预设值。

当查询此时系统的默认值时,可以使用

$ umask
0022		#后三个数字与一般权限有关
$ umask -S	# -S可以以符号方式显示权限
u=rwx,g=rx,o=rx

在系统的初始设置上,当创建文档时,默认拥有的权限为666,即都没有执行权限;在创建目录时,默认的权限为777。umask中设置的数值为要从系统默认的数值中减去的权限,例如

$ umask
0022
$ touch test1
$ mkdir test2
$ ll -d test*
-rw-r--r--. 1 root root 0  6月 16 01:11 test1
drwxr-xr-x. 2 root root 6  6月 16 01:11 test2

设置umask的值的方法为

$ umask 002

chattr——设定档案的隐藏属性

$ chattr [+-=][ASacdistu] 文档或目录名称

+   :增加某一个特殊参数
-   :移除某一个特殊参数
=   :设定参数,最终该档案只具有=后的参数

A  :若有存取此文档(或目录)时,他的 atime 將=不会被修改,
a  :只能增加资料,而不能刪除也不能修改资料,只有root 才能设定这个属性
i  :不能被刪除、改名、设定链接也无法写入或新增资料,只有root 才能设定这个属性

lsattr——显示文档的隐藏属性

file——查看文档类型

指令与档案的搜索

which——搜索执行档(可使用的指令)

$ which [-a] command

-a :将所有由 PATH 目录中可以找到的指令均列出,而不止第一个被找到的指令名称

whereis

​ whereis 主要是查找 /bin /sbin 底下的执行档,以及 /usr/share/man 底下的 man page 档案

¥ whereis [-bmsu] 档案或目录

-b    :只找 binary 格式的
-m    :只找 man 下的
-s    :只找 source 来源的
-u    :搜索不在上述三个之中的特殊项

local/updatedb

​ 在已建立的资料库 /var/lib/mlocate/ 中进行搜索,这样会很快,但是当资料库还没有更新时会出现查不到的问题,此时可以使用updatedb来更新资料库

$ locate [-ir] keyword
:
-i  :忽略大小写
-c  :不输出文档名,仅计算找到的文档数量
-l  :仅输出几行,例如输出五行则是 -l 5
-S  :输出 locate 所使用的资料库档案的相关资讯,包括该资料库的档案/目录数量等
-r  :后面可接正则表示法的显示方式

find(已经放弃改成简体了)

$ find [PATH] [option] [action]

1. 與時間有關的選項:共有 -atime, -ctime 與 -mtime ,以 -mtime 說明
   -mtime  n :n 為數字,意義為在 n 天之前的『一天之內』被更動過內容的檔案;
   -mtime +n :列出在 n 天之前(不含 n 天本身)被更動過內容的檔案檔名;
   -mtime -n :列出在 n 天之內(含 n 天本身)被更動過內容的檔案檔名。
   -newer file :file 為一個存在的檔案,列出比 file 還要新的檔案檔名
   
2. 與使用者或群組名稱有關的參數:
   -uid n :n 為數字,這個數字是使用者的帳號 ID,亦即 UID ,這個 UID 是記錄在
            /etc/passwd 裡面與帳號名稱對應的數字。這方面我們會在第四篇介紹。
   -gid n :n 為數字,這個數字是群組名稱的 ID,亦即 GID,這個 GID 記錄在
            /etc/group,相關的介紹我們會第四篇說明~
   -user name :name 為使用者帳號名稱喔!例如 dmtsai 
   -group name:name 為群組名稱喔,例如 users ;
   -nouser    :尋找檔案的擁有者不存在 /etc/passwd 的人!
   -nogroup   :尋找檔案的擁有群組不存在於 /etc/group 的檔案!
                當你自行安裝軟體時,很可能該軟體的屬性當中並沒有檔案擁有者,
                這是可能的!在這個時候,就可以使用 -nouser 與 -nogroup 搜尋。

3. 與檔案權限及名稱有關的參數:
   -name filename:搜尋檔案名稱為 filename 的檔案;
   -size [+-]SIZE:搜尋比 SIZE 還要大(+)或小(-)的檔案。這個 SIZE 的規格有:
                   c: 代表 byte, k: 代表 1024bytes。所以,要找比 50KB
                   還要大的檔案,就是『 -size +50k 』
   -type TYPE    :搜尋檔案的類型為 TYPE 的,類型主要有:一般正規檔案 (f), 裝置檔案 (b, c),
                   目錄 (d), 連結檔 (l), socket (s), 及 FIFO (p) 等屬性。
   -perm mode  :搜尋檔案權限『剛好等於』 mode 的檔案,這個 mode 為類似 chmod
                 的屬性值,舉例來說, -rwsr-xr-x 的屬性為 4755 !
   -perm -mode :搜尋檔案權限『必須要全部囊括 mode 的權限』的檔案,舉例來說,
                 我們要搜尋 -rwxr--r-- ,亦即 0744 的檔案,使用 -perm -0744,
                 當一個檔案的權限為 -rwsr-xr-x ,亦即 4755 時,也會被列出來,
                 因為 -rwsr-xr-x 的屬性已經囊括了 -rwxr--r-- 的屬性了。
   -perm /mode :搜尋檔案權限『包含任一 mode 的權限』的檔案,舉例來說,我們搜尋
                 -rwxr-xr-x ,亦即 -perm /755 時,但一個檔案屬性為 -rw-------
                 也會被列出來,因為他有 -rw.... 的屬性存在!

4. 額外可進行的動作:
   -exec command :command 為其他指令,-exec 後面可再接額外的指令來處理搜尋到的結果。
   -print        :將結果列印到螢幕上,這個動作是預設動作!

一个例子是

{} 代表的是『由 find 找到的內容』,find 的结果会被放置到 {} 位置中-exec 一直到 ; 是关键字,代表 find 额外动作的开始 (-exec) 到结束[ ; ]因為『 ; 』在 bash 环境下是有特殊意义的,因此利用反斜线來跳脱

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/756951.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号