第四章 Linux常用命令

4.1 文件处理命令

4.1.1 命令格式与目录处理命令ls

 

命令格式 :命令 [-选项] [参数]

例 : ls -la /etc

  说明:1)个别命令使用不遵循此格式

     2)当有多个选项时,可以写在一起

     3)简化选项与完整选项-a 等于 --all

 

命令名称:ls

命令英文原意:list

命令所在路径:/bin/ls

执行权限:所有用户

功能描述:显示目录文件

语法:ls 选项[-ald] [文件或目录]

     -a 显示所有文件,包括隐藏文件

     -l 详细信息显示

     -d 查看目录属性

 

tip:

-rw-r--r--      一共10位,第一位位文件类型 ,剩下9 位依次位 所有者权限,所属组权限 ,其他人权限

  • - 文件类型(- 文件        d 目录          l 软链接文件)

  • rw- r-- r--

u                g              o

u所有者     g所属组    o其他人

r读             w写             x执行

2  :说明了最近浏览次数

shiyanlou :第一个代表了所有者,第二个代表了群组

4096 :内容大小 , 字节为单位

时间:最近访问时间,没有创建时间‘

下述代码只显示/etc下的内容,查看不了目录信息, ls  -l 查看文件属性,不是目录属性

下述代码显示了目录信息

4.1.2 目录处理命令

命令名称:mkdir

命令英文原意:make directories

命令所在路径:/bin/mkdir

执行权限:所有用户

 

常用参数:

  -p           递归创建多级目录
  -m          建立目录的同时设置目录的权限
  -z           设置安全上下文
  -v           显示目录的创建过程

 

mkdir    -p    /tmp/Japan/boduo                    创建新目录-p 递归创建

mkdir          /tmp/Japan/longze      /tmp/Japan/cangjing    
mkdir     -m    700      /usr/linuxcool/dir              在目录/usr/linuxcool下建立子目录dir,并且设置文件属主有读、写和执行权限,其他人无权访问
mkdir     dir1     dir2    dir3                         同时创建子目录dir1,dir2,dir3:

 

命令名称:cd

命令英文原意:change directory

命令所在路径:shell内置

命令执行权限:所有用户

语法:cd [目录]

功能描述:切换目录

 

.    表示当前目标

..  表示上两级目录

 

cd    进入用户主目录;
cd ~  进入用户主目录;
cd -  返回进入此目录之前所在的目录;
cd ..  返回上级目录(若当前目录为“/“,则执行完后还在“/"".."为上级目录的意思);
cd ../..  返回上两级目录;
cd !$  把上个命令的参数作为cd参数使用。
cd /tmp/Japan/boduo 切换到指定目录

 

命令名称:pwd

命令英文原意: print working directory

命令所在路径:/bin/pwd

执行权限:所有用户

语法:pwd

功能描述:显示当前目录

pwd

 

命令名称:rmdir

命令英文原意:remove empty directories

命令所在路径:/bin/rmdir

执行权限:所有用户

语法:rmdir [目录名]

功能描述: 删除空目录

范例: $ rmdir /tmp/Japan/boduo

 

rmdir dir                     删除空目录
rmdir -p dir/dir_1/dir_2      递归删除指定的目录树:
rmdir -v dir                  显示指令详细执行过程
rmdir -p -v dir/dir_1/dir_2 

命令名称:cp

命令英文原意:copy

命令所在路径:/bin/cp

执行权限:所有用户

语法:cp -rp [原文件或目录] [目标目录]

    -r 复制目录

    -p 保留文件属性

功能描述:复制文件或目录 

 

cp -r dir1 dir2/       复制目录  注意必须加上 -r  ,复制文件不用加 -r 
cp -f test1 test2       将文件test1改名为test2
cp -r file1 file2 file3 dir    复制多个文件

 

命令名称:mv

命令英文原意:move

命令所在路径: /bin/mv

执行权限:所有用户

语法:mv [源文件或者目录 ]   [目标目录]

mv file_1 file_2   将文件file_1重命名为file_2

mv file /dir  将文件file移动到目录dir中 

mv /dir1 /dir2     将目录dir1移动目录dir2中(前提是目录dir2已存在,若不存在则改名)

mv /dir1/* .  将目录dir1下的文件移动到当前目录下

命令名称:rm

命令英文原意:remove

命令所在路径:/bin/rm

执行权限:所有用户

语法:rm -rf [文件或目录]

-r 删除目录

-f 强制执行

功能描述:删除文件

rm   -i  test.txt.bz2    删除前逐一询问确认:

rm   -f   test.txt.bz2   直接删除,不会有任何提示:

rm   -rf    /data/log    删除当前目录下所有文件 

rm -rf  /*               清空系统中所有的文件(谨慎)

 


 

4.1.3 文件处理命令

命令名称:touch

命令所在路径:/bin/touch

执行权限:所有用户

语法:touch [文件名]

功能描述:创建空文件

范例: $ touch Japanlovestory.list

 

touch file.txt            创建空文件

touch file{1..5}.txt      批量创建文件

touch -a file.txt         修改文件的access(访问)时间
stat file.txt             查看文件状态

touch "hello world.txt" 创建带有空格的文件,下次访问的时候要带上引号

命令名称:cat

命令所在路径:/bin/cat

执行权限:所有用户

语法:cat [文件名]

功能描述:显示文件内容

-n 显示行号

cat filename.txt                               查看文件内容
cat -n filename.txt                            查看文件的内容,并显示行数编号

cat -n linuxcool.log > linuxprobe.log          查看文件的内容,并添加行数编号后输出到另外一个文件中

cat /dev/null > /root/filename.txt             清空文件的内容: 

cat > filename.txt <<EOF                       持续写入文件内容,碰到EOF符后结束并保存:
> Hello, World 
> Linux!
> EOF

 

命令名称:tac

命令所在路径:/usr/bin/tac

执行权限: 所有用户

语法: tac [文件名]

功能描述:显示文件内容(反向)

cat test.txt    
hello world 
hello linuxcool
hello linuxprobe
tac test.txt 
hello linuxprobe
hello linuxcool
hello world

命令名称:more

命令所在路径:/bin/more

执行权限:所有用户

语法:more [文件名]

(空格) 或     f        翻页

(Enter)                 换行

qQ                   退出

功能描述:分页显示文件内容

 

more -c -10 file          显示文件file的内容,每10行显示一次,而且在显示之前先清屏,注意每次要按空格以实现换页每页10行

more -p -5  file                file 显示文件file的内容,每5行显示一次,而且在显示之后再清屏

more +20 file             从第 20 行开始显示 file 之文档内容 

命令名称:less

命令所在路径:/usr/bin/less

执行权限:所有用户

语法:less [文件名]

功能描述:分页显示文件内容(可向上翻页)

注意:less的作用与more十分相似,不同点为less命令允许用户向前或向后浏览文件,而more命令只能向前浏览 

 

命令内部操作:

  • b 向后翻一页
  • d 向后翻半页
  • h 显示帮助界面
  • Q 退出less 命令
  • u 向前滚动半页
  • y 向前滚动一行
  • 空格键 滚动一页
  • 回车键 滚动一行

 

less log2018.log log2019.log   浏览多个文件 ,more命令也可以
less file1   当正在浏览一个文件时,也可以使用 :e命令 打开另一个文件
:e file2

 

命令名称:head

命令所在路径:/usr/bin/head

执行权限:所有用户

语法:head [文件名]

功能描述:显示文件前面几行

常用参数:

  -n 后面接数字,代表显示几行的意思
  -c 指定显示头部内容的字符数
  -v 总是显示文件名的头信息
  -q 不显示文件名的头信息

 

head -n 3 install.log    显示前3行文件内容

head -v -n 2 test.txt  显示文件名信息,并显示文件前两行

head -c 5 test.txt    显示文件前5个字符

 

命令名称:tail

命令所在路径:/usr/bin/tail

执行权限:所有用户

语法:tail [文件名]

功能描述:显示文件后面几行

-n 指定行数

-f 动态显示文件末尾内容

 

tail file     显示文件file的最后10行

tail +20 file   显示文件file的内容,从第20行至文件末尾

tail -c 10 file  显示文件file的最后10个字符

tail -f 10 file  一直变化的文件总是显示后10行

 

4.1.4 链接命令

4.1.4 链接命令

符号链接

  • 1. 符号链接以路径的形式存在,类似于Windows操作系统中的快捷方式。
  • 2. 符号链接可以跨文件系统 ,硬链接不可以。
  • 3. 符号链接可以对一个不存在的文件名进行链接,硬链接不可以。
  • 4. 符号链接可以对目录进行链接,硬链接不可以。

硬链接

  • 1.硬链接以文件副本的形式存在,但不占用实际空间。
  • 2. 硬链接不允许给目录创建硬链接。
  • 3.硬链接只有在同一个文件系统中才能创建。

命令名称:ln

命令英文原意:link

命令所在路径:/bin/ln

执行权限:所有用户

语法:ln -s [原文件] [目标文件]

-s 创建软链接

功能描述:生成链接文件

 

范例:

ln   -s      /etc/issue     /tmp/issue.soft       创建文件/etc/issue的软链接/tmp/issue.soft

ln           /etc/issue     /tmp/issue.hard          创建文件/etc/issue的硬链接/tmp/issue.hard

软链接特征:

类似Windows快捷方式

1、lrwxrwxrwx         l 软链接

软链接文件权限都为rwxrwxrwx

2、文件大小-只是符号链接,大小非常小

3、/tmp/issue.soft -> /etc/issue 箭头指向原文件

 

硬链接特征:

1、拷贝cp -p + 同步更新

echo "this is a test" >> /etc/motd

2、可通过i节点识别,一个i节点可以对应多个硬链接文件

3、不能跨分区

4、不能针对目录使用

   查看软链接文件,查看的文件不存在。和windows一样,删除源文件,快捷方式也用不了。但是删除源文件,硬链接文件还可以查看。

   https://blog.csdn.net/gao_zhennan/article/details/79127232


4.2 权限管理命令

4.2.1 权限管理命令chmod

命令名称:chmod

命令英文原意:change the permissions mode of a file

命令所在路径:/bin/chmod

执行权限:所有用户

语法:chmod [{ugoa}{+-=}{rwx}] [文件或目录]

[mode=421 ] [文件或目录]

-R 递归修改

功能描述:改变文件或目录权限

 

权限范围的表示法如下:

u          User,即文件或目录的拥有者;
g    Group,即文件或目录的所属群组;
o          Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围;
a          All,即全部的用户,包含拥有者,所属群组以及其他用户;
r    读取权限,数字代号为“4”;
w          写入权限,数字代号为“2”;
x          执行或切换权限,数字代号为“1”;
-          不具任何权限,数字代号为“0”;
s          特殊功能说明:变更文件或目录的权限

对于一个文件分析:

文件权限解释:

  

(1)第一个   -      代表文件的类型,

  • 如果是一个普通文件为"-",
  • 如果是一个目录为"d",
  • 如果是一个软连接为"l"
  • 如果是一个字符设备为"c"
  • 如果是一个块文件为"b"

(2) 然后以三个符号为一组看,第一组表示文件所有者拥有的的权限

    

  • 其中"r"表示该文件拥有读取的权限
  • "w"表示该文件拥有修改的权限
  • “-” 表示暂时还没有其他权限

(3)第二组.表示该文件所在组的用户,拥有的权限

    

  • 同样"r" 表示拥有阅读的权限
  • "-"表示暂时没有其他权限

(4)第三组表示其他组的用户所拥有的权限

    

  • 同样"r" 表示拥有阅读的权限
  • "-"表示暂时没有其他权限

(5)接着看旁边的数字 1

  

 - 如果这个文件类型是一个普通文件,则表示这个文件的硬链接

- 如果这个文件类型是一个目录,则表示这个目录下的子目录个数

(6)然后第一个root,表示这个文件的所有者为"root"用户

  

(7)第二个"root",表示这个文件的所在组为"root"组

  

 (8)接着一串数字

  

  • 表示这个文件的大小为"1796字节",如果是使用"ls -hl" 指令查看的文件信息,会将大小换算为更高的单位
  • 如果此时的文件类型是一个目录,会显示"4096" ,linux中一切皆文件,所以目录其实也是一个特殊的文件,所以4096也代表这个目录的大小)

(9)接着的日期,表示这个文件的最后修改日期为"2013年 10 月 2日"

  

 (10)最后,表示这个文件的名称

  

 

rwx权限的详解

在前的文件信息中,可以看到"r","w"的权限,实际上还有一个"x"权限,表示可执行权限,但是"rwx"这三个权限在不同的文件类型上,有着不一样的意义.

如果是描述一个普通文件

r 表示这个文件是可以读取,查看的

w 表示这个文件是可以进行修改,但是不一定表示这个文件可以删除,因为还需要考虑这个文件所在的目录权限是否有能够删除的权限

x 表示这个文件是可以执行的

如果描述的是一个目录

r 表示这个目录可以进行查看

w 表示这个文件可以进行增加,删除或重命名

x 表示可以进入这个目录

 

"rwx"权限还可以使用数字来表示为:r=4,w=2,x=1,所以rwx=4+2+1=7

 

chmod a+r file.txt           将档案 file1.txt 设为所有人皆可读取

chmod -R a+r *               将目前目录下的所有文件与子目录皆设为任何人可读取

chmod u+x file.txt           将 file.txt 设定为只有该文件拥有者可以执行

chmod u-x file.txt 将 file.txt 设定为只有该文件拥有者可以执
chmod a-x file.txt           设置所有人不可以执行

chmod u+x , o-x file.txt 设置为文件所有者可以执行,所有人不可以执行

chmod -R 777 testdi 修改目录testfile及其目录下文件为所有用户具有全部权限

chmod g+w testfile 赋予文件testfile所属组写权限
chmod u+x,g+w f01           为文件f01设置自己可以执行,组员可以写入的权限
chmod u=rwx,g=rw,o=r f01 直接设置所有者的权限为读写执行,用户组为写,其他人为读
chmod 764 f01 设置所有者读写执行,所在组其他用户为读写,其他人为读
chmod a+x f01   对文件f01的u,g,o都设置可执行属性

tips:

  1.rwx作用在文件

    1>  r:read,可以读取,查看

    2>  w:writte, 可以修改,但是不代表可以删除该文件,删除一个文件的前提是对该文件所在的目录(文件夹)具有写的权限,才能删该文件

    3>  x:execute,可以被执行

 

  2.rwx作用在目录

    1> r,ls查看目录内容

    2> w,  可以修改,目录内创建+删除+重命名目录

    3> x, 可以进入该目录 

 

 

4.2.2 其他权限管理命令

命令名称:chown

命令英文原意:change file ownership

命令所在路径:/bin/chown

执行权限:所有用户

语法:chown [用户] [文件或目录]

功能描述:改变文件或目录的所有者 

 

chown root file                       改变文件file的所有者为root
chown -R runoob:runoobgroup * 将目前目录下的所有文件与子目录的拥有者皆设为 runoob,群体的使用者 runoobgroup
chown runoob:runoobgroup file1.txt    将文件 file1.txt 的拥有者设为 runoob,群体的使用者 runoobgroup
chown root:   log2012.log             改变文件拥有者和群组

chown :mail log2012.log 改变文件群组

chown -R -v root:mail test6 改变指定目录以及其子目录下的所有文件的拥有者和群组 

 

 

命令名称:chgrp

命令英文原意:change file group ownership

命令所在路径:/bin/chgrp

执行权限:所有用户

语法:chgrp [用户组] [文件或目录]

功能描述:改变文件或目录的所属组

范例:$ chgrp lampbrother fengjie

改变文件fengjie的所属组为lampbrother

 

chgrp -v linuxcool file                改变文件的群组属性

chgrp --reference=file_1 file_2        根据指定文件改变文件的群组属性

 

 

 

命令名称:umask

命令英文原意:the user file-creation mask

命令所在路径:Shell内置命令

执行权限:所有用户

语法:umask [-S]

-S 以rwx形式显示新建文件缺省权限

功能描述:显示、设置文件的缺省权限

umask                      使用指令”umask”查看当前权限掩码     ,假如显示 022 则表示 --- -w- -w-

umask u=, g=w, o=rwx       使组用户的写权限,其他用户的读、写和执行权限都被取消

 tips: 新建文件是默认没有x权限(比如:防止木马病毒攻击),当前拥有什么权限对于您创建的目录权限也是一样,对于文件则没有x权限。

 

 

 

 

4.3 文件搜索命令

4.3.1 文件搜索命令find

命令名称:find

命令所在路径:/bin/find

执行权限:所有用户

语法:find [搜索范围] [匹配条件]

功能描述:文件搜索

 

语法格式:find [参数] [路径] [查找和搜索范围]

常用参数:

  -name按名称查找

  -size按大小查找

  -user按属性查找

  -type按类型查找

  -iname忽略大小写

 

 

范例:-name选项的使用find /etc -name init             在目录/etc中查找文件init

find /etc  -name  *init*                在目录/etc中查找文件名包含init
find /etc -name init???            在目录/etc中查找文件名init开头并有3个字符的 tips:* 匹配任意字符,?匹配单个字符,-iname 不区分大小写
find /etc -name init*            在目录/etc中查找文件名init开头的
find /home ! -name "*.txt" 找出/home下不是以.txt结尾的文件
-size选项的使用          +n 大于 -n 小于 n 等于
find / -size +204800          在根目录下查找大于100MB的文件
find /etc -size +1M          使用-size参数查看/etc目录下面大于1M的文件


-根据文件属性查找          -amin 访问时间 access -cmin 文件属性 change -mmin 文件内容 modify
find /etc -cmin -5          在/etc下查找5分钟内被修改过属性的文件和目录

-多条件查找         -a 两个条件同时满足 -o 两个条件满足任意一个即可
find /etc -size +163840 -a -size -204800
在/etc下查找大于80MB小于100MB的文件



-type按类型查找 f 文件 d 目录
find . -type f -amin +10 搜索访问时间超过10分钟的所有文件


-查找后执行操作
-exec/-ok 命令 {} \; 对搜索结果执行操作 , {}表示find查找的结果 ,\ 表示转义符, \表示结束
find /tmp -name init -exec ls -l {} \ 对查找后的结果,执行显示具体信息的操作

 

 

语法格式:find [参数] [路径] [查找和搜索范围]

常用参数

-name 按名称查找
-size 按大小查找
-user 按属性查找
-type 按类型查找
-iname 忽略大小写

猜你喜欢

转载自www.cnblogs.com/BlairGrowing/p/12787354.html