Linux学习笔记_常用命令2

时间:2023-02-25 09:51:44

Linux常用命令:

 

 

Linux学习笔记_常用命令1_文件处理和权限处理

Linux中一切皆文件

三、文件搜索命令

which

功能:显示系统命令所在目录(同时会显示该命令的相关的别名)  路径:/usr/bin/which

语法:which  [命令名称]

范例:which ls

whereis  [命令名称]   显示系统命令所在目录(同时会显示该命令的帮助文档所在位置)

find

功能:查找文件或目录(通用的查找命令,可查找任何的文件或目录)  路径:/usr/bin/find

语法:find  [搜索路径] [搜寻关键字]    (尽量缩小查询范围,关键字尽量精准,以提高查找速度,节省系统资源。Find查找的原则:占用系统资源越少越好

选项

-name  根据名字进行查找

范例:find /etc –nameinit   在etc目录下查找文件名为init的文件

(与windows不同,Windows中输入查找关键字init,其会查找文件名或包含init的关键字的所有文件,而Linux中,只会查找文件名为init的文件)

通配符*  匹配任意字符(包括0个字符)

                            find /etc –name init*      在etc目录下查找文件名以init开头的文件

                            find/etc –name *init*     在etc目录下查找文件名包含init的文件

                       ?  匹配单个字符

find /etc –name init???    在etc目录下查找一个以init开头且文件名为7个字符不记得后三位字符的文件

-size  根据文件大小进行查找(以block为单位)

         100MB=102400KB =204800block

         +204800  大于204800

         -204800  小于204800

范例:find /etc –size  +204800 查找文件大小大于204800的文件

                     find /etc –size  -204800

                     find /etc –size  204800

-user  查找隶属于某一用户的选项(根据文件的所有者查找)

         find/home –user samlee  查找文件所有者为samlee的所有文件

-tpye 根据文件类型查找 

         f二进制文件 l软链接文件 d 目录

范例:find /etc –type f  查找etc下文件类型为二进制文件的文件

根据时间查找:1:以天为单位:ctimeatimemtime 

(c-change改变  文件的属性(所有者、所属组、权限等ls –l所能查找到的属性)被修改过

a-access访问   文件被浏览过cat、more过等

 m-modify修改  文件的内容被修改过)

                              2:以分钟为单位:cminaminmmin

-         多久之内  + 超过多久时间

范例:find /etc –mmin -120   查找在etc目录中的在120分钟之内内容被修改过的文件

连接符:-a  and逻辑与

                   -o  or逻辑或

范例:find  /etc –size  +163840 –a –size  -204800 查找大小大于80M小于100M的文件

find /etc –name init* -a –type f 查找etc目录中文件名为init开头且文件类型为二进制文件的文件

       -exec    对find查找到的内容进行二次操作

       -ok   (与-exec的区别是得到查找内容之后执行后面的命令之前进行询问)

格式:find …… -exec 命令 {} \;  (固定格式)

  命令  对{}内的内容执行该命令

 {}  find查询的结果

 \  转义符 (使用一些符号或命令使用其本身的含义) 

                   eg:当rm 命令有一个别名rm –i时,执行rm testfile 时,会出现是否确认删除的提示,而当使用转义符后 \rm testfile  则不会再出现提示,因为rm命令本身是不会出现提示的。

范例:

find /etc –name inittab –exec ls –l {}\;  对etc目录下文件名为initab的文件进行查看详细内容

find /etc –name init* -a –type f –exec ls –l{} \; 查找etc目录下文件名以init开头的二进制文件,并对其进行详细查看

-inum 根据i节点进行查找

范例: find . –inum 16  查找当期目录中i节点为16的文件

ls –i 查看文件的i节点

locate

(list files in databases)功能:寻找文件或目录  路径:/usr/bin/locate

语法:locate  [搜索关键字]

范例:locate file 列出所有跟file相关的文件

locate命令在Unix系统中一般不提供,在Linux系统里面可以使用

find可以在指定目录下搜索,locate 是在系统安装和定期更新的文件数据库中进行查找的,要比find快,但是有时某些内容是查找不到的(如,当一个文件被新建,还没有来得及被录入文件数据库,则该文件是不能用locate命令查找到的)

locate要配合一个命令来使用:updatedb ,该命令在系统安装完以后,会建立一个整个Linux系统的文件目录的数据库。系统有一个计划任务,该计划任务会定期执行updatedb命令,当然也可以手工使用updatedb命令来手动更新系统目录的数据库。

updatedb

(update the slocate database)功能:建立整个系统目录文件的数据库 路径:/usr/bin/updatedb

执行权限:root  ???

语法:updatedb 

范例:#updatedb

grep

功能:在文件中搜寻字符串匹配的行并输出  路径:bin/grep

语法:grep  [指定字符串] [源文件]

范例:grep ftp /etc/services 在/etc/services文件中搜寻含有ftp的行并输出

四、            帮助命令:

man

(manual手册)功能:获得帮助信息(不光是获得命令的帮助,还可以获得配置文件的帮助)  路径:usr/bin/man

语法:man  [命令或配置文件名称]

范例:man ls  查看ls命令的帮助信息

           manservices 查看配置文件services 的帮助信息

实质上man在执行的时候会调用more查看帮助文档

若某一命令和配置文件名称有相同的名字,在使用man时会优先查看命令的帮助

范例:man passwd (存在一个命令叫passwd,/etc/passwd  /etc目录下的是一个配置文件)

         man5 passwd  表示查看配置文件passwd的帮助

man 1passwd  表示查看命令passwd的帮助 (man passwd 默认就是man 1passwd)

info

(information)功能:获得帮助信息  路径:usr/bin/info

语法:info  [任何关键字]

范例:info ls 查看ls指令的帮助信息

(info 与man的用法基本一样,只是在呈现信息的形式上稍有差异,Unix中没有此命令)

whatis

apropos

makewhatis

(search the whatis database for strings)功能:获得索引的简单说明信息

  路径:usr/bin/whatis

usr/bini/apropos  usr/sbin/makewhatis

语法:whatis  [任何关键字]

           apropos [任何关键字]

范例:whatis ls 获得ls命令的作用

           apropos fstab   列出所有fstab相关文件的简短信息  相当于man –k fstab

命令--help 显示该命令的选项

范例:ls --help  列出ls命令的选项信息

whatis 和apropos命令的前提也是要建立一个搜索的索引的数据库,该数据库的更新需要执行命令makewhatis

makewhatis: 建立wahtis和apropos搜索使用的数据库,当使用这两个命令发生错误时,就是whatis database 没有建立

help

         查看shell内置命令的帮助

范例:help cd 查看cd命令的帮助

若使用man cd  显示的是所有内置命令的帮助文档

五、            压缩解压命令:

gzip

(GNU zip)功能:压缩文件  路径:/bin/gzip  压缩后文件格式:.gz

语法:gzip 选项 [文件]

范例:gzip newfile

它是一个GNU*软件的文件压缩程序。

注意1gzip只能压缩文件,不能压缩目录;2gzip不保留源文件

Linux中所有的压缩格式,windows中所有的压缩软件都支持,但反过来,windows中的压缩格式,Linux不一定支持。即,在windows中创建一个压缩文件,拿到Linux中未必能直接解压,除非安装相应的解压软件。

gunzip

(GNU unzip)功能:解压缩.gz的压缩文件(解压后不保留压缩文件)  路径:/bin/gunzip 

语法:gunzip 选项 [压缩文件]  

范例:gunzip  file1.gz   

gzip –d 也有同样的功能

范例:gzip  –d  file1.gz

tar

功能:打包目录(保留源文件)  路径:/bin/tar  压缩后文件格式:.tar.gz

语法:tar 选项[cvf] [目录]  

         -c  产生.tar打包文件(必要选项)

         -v  显示详细信息(非必要选项)

         -f  指定压缩后的文件名(必要选项)

                     -z  打包同时压缩

范例:tar –zcvf dir1.tar.gz dir1 把目录dir1打包并压缩成dir1.tar.gz

打包后的文件名不一定要和源文件同名,但是一般建议采用同名再加上.tar.gz(为了识别方便)

如: tar –zcvf new dir1 把目录dir打包并压缩成new ,当日后见到new后,我们很可能把它当成普通文件,显然new是不可能用cat查看的,此时我们可采用file命令来判断new文件的类型file new

注意:使用tar –zcf 可直接对目录进行打包并压缩,但这种用法并不是在所有的Unix系统中都支持,此时,我们可以采用tar –cf 对目录进行打包,再用gzip对目录进行压缩

范例: tar –cf newdir.tar newdir  把目录newdir打包成newdir.tar

      gzip newdir.tar          把newdir.tar压缩成newdir.tar.gz

最后得到newdir.tar.gz

tar命令解压缩语法:

    -x 解包.tar文件

          -v 显示详细信息

          -f 指定解压文件

    -z 解压缩

范例:tar –zxvf dir1.tar.gz

同样 gunzip dir1.tar.gz

     tar–xvf dir1.tar  可实现同样的功能

zip

功能:压缩文件或目录(可保留源文件,且可提示压缩比)  路径:/usr/bin/zip  压缩后文件格式:.zip

语法:zip 选项[-r] [压缩后文件名称] [文件或目录]

              -r  压缩目录  

范例:zip services.zip /etc/services 压缩文件 

      zip –r test.zip /test 压缩目录

.zip是默认windowsLinux唯一通用的格式

unzip

功能:解压.zip的压缩文件  路径:/usr/bin/unzip 

语法:unzip [压缩文件]

范例:unzip test.zip  

bzip2

功能:压缩文件  路径:/usr/bin/bzip2  压缩后文件格式:.bz2

语法:bzip2 选项[-k] [文件]

                              -k  产生压缩文件后保留源文件

范例:bzip2 –k file1  

bzip2 是gzip的一个升级版,改良之处是加上-k可以保留源文件,(bzip2的压缩比很惊人,非常适合压缩大型文件)

bunzip2

功能:解压缩  路径:/usr/bin/bunzip2 

语法:bunzip2 选项[-k] [压缩文件]

                              -k  解压缩后保留源压缩文件

范例:bunzip2 –k file1.bz2  

六、            网络通信指令:

write

功能:向另外一个用户发信息,使用Ctrl+D作为结束  路径:/usr/bin/write 

语法:write <用户名>

范例:write samlee

write 是一个实时交互,必须两个用户同时登陆在线

wall

(write all)功能:向所有用户广播信息  路径:/usr/bin/wall 

语法:wall [message] [文件名]

范例:wall Happy New Year!

ping

功能:测试网络连通性  路径:/usr/sbin/ping 

语法:ping 选项 IP地址

              -c  ping的次数  eg:ping –c 3192.168.9.3

              -s  ping包的大小(最大65507)eg: ping –s 60000192.168.9.3

范例:ping 192.168.1.1  (需要按ctrl+c结束ping)

ifconfig

功能:查看网络设置信息  路径:/usr/sbin/ifconfig 

语法:ifconfig 选项[-a] [网卡设备标识]

              -a  显示所有网卡信息

范例:ifconfig –a

七、            系统关机命令:

shutdown

功能:关机  路径:/usr/sbin/shutdown 

语法:shutdown   (会默认等待一段时间才关机)

范例:shutdown –h now  立刻关机

reboot

功能:重新启动  路径:/usr/sbin/reboot 

语法:reboot   

范例:reboot