一、目录管理
处理目录的的常用命令;
ls:列出目录
cd:切换目录
cd..:返回上级目录
cd / :回到根目录
pwd:显示当前目录
mkdir:创建一个新的目录
rmdir:删除一个目录
cp:复制文件或目录
rm:移除目录或文件
mv:移动目录或文件,修改目录或文件的名称
ls目录中还有以下两种用法
-a:显示全部文件,包括隐藏文件(以.开头的文件)
-l:长数据串输出,包含文件的属性与权限等
pwd显示当前所在的目录
如果是链接则显示真实的地址用-p参数
mkdir 创建目录
-m 可以设置访问权限 例如:mkdir -m 777 test 设置访问权限为777 的文件test
-p 可以设置多级目录 例如:mkdir -p test/test1/test2
rmdir 删除目录
-p 删除多级目录:rmdir -p test/test1/test2
cp 复制文件
-a:
相当於 -pdr 的意思
-p:
连同文件的属性一起复制过去,而非使用默认属性(备份常用);
-d:
若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;
-r:
递归持续复制,用於目录的复制行为;(常用)
-f:
为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
-i:
若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
-l:
进行硬式连结(hard link)的连结档创建,而非复制文件本身。
-s:
复制成为符号连结档 (symbolic link),亦即『捷径』文件;
-u:
若 destination 比 source 旧才升级 destination !
例如:复制 root 下的test 到 home文件下 cp /root/test/home
cp -i /root/test/home 则需回答是否覆盖 n为不覆盖,y为覆盖
rm 移除文件
-f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
-i :互动模式,在删除前会询问使用者是否动作
-r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!
rm -rf /
谨慎使用
二、查看文件属性
为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。
查看文件属性我们通常使用 ll 或者 ls -l
每一行的第一个字母代表不同含义;
d:代表目录
-:代表文件
l:代表链接文档
b:
则表示为装置文件里面的可供储存的接口设备 ( 可随机存取装置 );
c
:则表示为装置文件里面的串行端口设备,例如键盘、鼠标 ( 一次性读取装置 )。
接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。
其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。
如果为-则表示没有该权限;
文件类型 | 主属性 | 组属性 | 其他用户 |
---|---|---|---|
0 | 1 2 3 | 4 5 6 | 7 8 9 |
d | r w x | r – x | r – x |
目录文件 | 读 写 执行 | 读 写 执行 | 读 写 xiu |
三、修改文件属性
chgrp 修改文件组属性
chgrp 组名称 文件名称
-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。
chown 修改文件主属性
chown 组名称 文件名称 同样有 -R
chwod 修改文件的9个属性
这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:
r:4 w:2 x:1
每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为:[-rwxrwx—] 分数则是:
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others= — = 0+0+0 = 0
chwod 770 test
四、查看文件内容
-
cat 由第一行开始显示文件内容
-
tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
-
nl 显示的时候,顺道输出行号!
-
more 一页一页的显示文件内容
-
less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
-
head 只看头几行
-
tail 只看尾巴几行
cat 指令;
-
-A :相当於 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
-
-b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
-
-E :将结尾的断行字节 $ 显示出来;
-
-n :列印出行号,连同空白行也会有行号,与 -b 的选项不同;
-
-T :将 [tab] 按键以 ^I 显示出来;
-
-v :列出一些看不出来的特殊字符
nl 指令;
-
-b :指定行号指定的方式,主要有两种:-b a :表示不论是否为空行,也同样列出行号(类似 cat -n);-b t :如果有空行,空的那一行不要列出行号(默认值);
-
-n :列出行号表示的方法,主要有三种:-n ln :行号在荧幕的最左方显示;-n rn :行号在自己栏位的最右方显示,且不加 0 ;-n rz :行号在自己栏位的最右方显示,且加 0 ;
-
-w :行号栏位的占用的位数。
more 指令;
在 more 这个程序的运行过程中,你有几个按键可以按的:
-
空白键 (space):代表向下翻一页;
-
Enter :代表向下翻『一行』;
-
/字串 :代表在这个显示的内容当中,向下搜寻『字串』这个关键字;
-
:f :立刻显示出档名以及目前显示的行数;
-
q :代表立刻离开 more ,不再显示该文件内容。
-
b 或 [ctrl]-b :代表往回翻页,不过这动作只对文件有用,对管线无用。
less 指令;
less运行时可以输入的命令有:
-
空白键 :向下翻动一页;
-
[pagedown]:向下翻动一页;
-
[pageup] :向上翻动一页;
-
/字串 :向下搜寻『字串』的功能;
-
?字串 :向上搜寻『字串』的功能;
-
n :重复前一个搜寻 (与 / 或 ? 有关!)
-
N :反向的重复前一个搜寻 (与 / 或 ? 有关!)
-
q :离开 less 这个程序;
head 指令;
取出文件前几行
head -n number 文件名
选项与参数:
-n
后面接数字,代表显示几行的意思!
默认的情况中,显示前面 10 行!若要显示前 20 行,就得要这样;
head -n 20 /home
tail 指令;
取出文件后面几行
用法与 head 一致