gearss / raspberry / 【Linux常用命令总结】

分享

   

【Linux常用命令总结】

2022-01-18  gearss

一、基本命令

1、帮助命令:man、help、info 命令

(1)man

代表命令:# man 1 passwd
代表配置文件:# man 5 passwd

(2)help

内部命令使用help帮助:# help cd
外部命令使用help帮助:# ls --help

扩展:使用type命令区分内部命令或外部命令

(3)info

info帮助比help更详细,作为help的补充:# info ls

2、开机/关机/重启命令:shutdown、reboot、init、halt、poweroff 命令

2.1、shutdown命令(关机)

(1)关机后重启,类似于reboot:# shutdown -r now(立即重启)

                                                       # shutdown -r +30(30分钟后重启)

                                                       # shutdown -r 20:35(在今天的20:35重启)

(3)关机:# shutdown -h now(立刻关机)

                    # shutdown -h +10(10分钟后关机)

                    # shutdown -h 20:25(在今天的20:25关机)

(3)取消shutdown命令,如执行了 # shutdown -h 20:25(在今天的20:25关机),但是发现这个时间点不合适,则可以使用命令取消:# shutdown -c

2.2、其他重启命令

重启:# reboot

           # init 6

2.3、其他关机命令

关机:# halt

           # poweroff

           # init 0

二、目录、文件操作命令

1、目录切换:cd 命令

若当前目录在“目录1”,然后使用 “# cd 目录2”跳转到“目录2”

(1)回到上一次的目录(即目录1):# cd -

(2)绝对路径:# cd /path/to/….

(3)相对路径(即“.”代表了当前所在目录,实际上开头的“./”可以省略):# cd ./path/to/….

(4)相对路径(“..”代表了当前目录的上级目录):# cd ../path/to/….

2、目录查看:ls 命令

(1)简略显示:ls

(2)长格式显示:ls -l  或 ll

(3)显示隐藏文件:ls -a

(4)逆序显示:ls –r 

(5)按照时间顺序降序显示:ls –t

(6)递归显示:ls -R

扩展:ls –l –r –t与ls –lrt是一样的

3、创建、删除、复制、移动目录/文件:mkdir、rmdir、touch、rm、cp、mv 命令

3.1、mkdir命令(创建目录)

(1)在根目录下创建a目录:# mkdir /a(目录名)

(2)创建多个目录(在当前目录下建立b c d共3个目录):# mkdir b c d 

(3)创建已存在的目录时会提示已存在,使用-p就不会提示错误:# mkdir a -p

(4)创建多级目录(必须保证非子节点目录是存在的,否则创建失败):# mkdir /a/b/c

3.2、rmdir命令、rm -r命令(删除目录)

(1)删除空目录(若目录非空,会提示删除失败):# rmdir 目录名

(2)删除非空目录(会对该多级目录进行挨个确认):# rm -r 目录名

         删除非空目录(直接删除,不进行确认):# rm -r -f 目录名    或   # rm -rf 目录名

3.3、touch命令(创建文件):# touch 文件名

3.4、rm命令(删除文件):# rm 文件名

3.5、cp -r命令(复制目录,如复制目录“/root/a”到“/tmp”目录下):# cp  -r  /root/a  /tmp

3.6、cp命令(复制文件,如复制文件“/root/a.txt”到“/tmp”目录下):# cp /root/a.txt /tmp

扩展:

3.7、mv命令(移动目录、移动文件,如移动文件或目录到/tmp目录下):# mv 文件或目录 /tmp

扩展:mv命令还具有重命名功能

4、目录、文件查找:find 命令

(1)默认搜索当前目录及其子目录,且不过滤任何结果,返回所有文件:# find

(2)在具体目录下,按名称搜索文件:# find 目录 -name 文件名

(3)按文件所属者查找:# find 目录 -user 用户名

         按文件所属组查找:# find 目录 -group 组名

         条件与(默认情况下为“与”):# find 目录 -user 用户名 -a -group 组名

         条件或:# find 目录 -user 用户名 -o -group 组名

         非:# find 目录 -not -user 用户名

(4)按文件所在至多(至少)深度(层次)查找:# find 目录 -maxdepth n(或 -mindepth n) -name 文件名

(5)按文件大小查找

查找某目录下文件大小为20k的文件:# find 目录 -size 20k

查找某目录下文件大小小于20k的文件:# find 目录 -size -20k

查找某目录下文件大小大于20k的文件:# find 目录 -size +20k

(6)按文件类型查找:# find 目录 -type f(块设备文件b、套接字文件s、管道文件f、目录文件d、普通文件-、字符特殊文件c、符号链接l 等)

(7)按文件权限查找(如查找文件权限为404的文件):# find 目录 -perm 404

(8)按文件更新时间查找

查找文件更新距离现在为1分钟的文件:# find 目录 -ctime 1

查找文件更新距离现在为1分钟以内的文件:# find 目录 -ctime -1

查找文件更新距离现在超过1分钟的文件:# find 目录 -ctime +1

(9)对查找的文件执行某些动作(-exec表开始执行动作,{}表用find命令查找出的所有文件,如给查找到的文件的g位加w的权限):# find 目录 -perm 404 -exec chmod g+w {} \

5、文件编辑:vi 命令

(1)# vim 文件---------进入正常模式

(2)输入:i------------------------进入插入模式

         输入:I(大写的i)--------进入插入模式,光标会移动到定位行的开头

         输入:a-----------------------进入插入模式,光标会定位到之前所在位置的下一位

         输入:A-----------------------进入插入模式,光标会移动到定位行的结尾

         输入:o-----------------------进入插入模式,光标会移动到定位行的下一行开头,且另起一行

         输入:O----------------------进入插入模式,光标会移动到定位行的上一行开头,且另起一行

         输入:v-----------------------进入可视模式

         输入::-------------------------进入命令模式(末行模式)

(3)在正常模式下:h键-光标向左移动

                                   l键-光标向右移动

                                   k键-光标向上移动

                                   j键-光标向下移动

                                   shift+g-光标移到最后一行

                                   gg-光标移动到首行

                                   :w-保存

                                   :q-退出

                                   :q!-强制退出

                                   :wq-保存后退出

                                   :set nu-显示行号

扩展:按:set nu可以显示行号,但是每次退出后,重新打开这个文件,行号会消失,如果不希望行号消失,则需对配置文件(/etc/virc)进行修改----在/etc/virc文件最后一行添加”set nu“,然后:wq保存退出。

6、文件查看:cat 、more、less、head、tail、wc 命令

(1)cat命令(文件查看)

(2)more命令(文件查看):# more 文件

(3)less命令(文件查看):# less 文件

(4)head命令(文件查看)

  1)查看文件开头(默认显示文件开头10行):# head 文件

  2)显示文件的开头n行:# head -n 文件

(5)tail命令(文件查看)

  1)查看文件结尾(默认显示文件末尾10行):# tail 文件

  2)显示文件的末尾n行:# tail -n 文件

  3)边查看边同步刷新文件更新信息:# tail -f 文件

(6)wc命令(统计文件内容信息,如查看文件有多少行):# wc -l 文件

7、目录、文件权限操作(修改目录或文件的权限、用户或用户组、用户组):chmod、chwon、chgrp 命令

a. 文件类型:-(普通文件);d(目录文件);b(块特殊文件);c(字符特殊文件);l(符号链接);f(命令管道);s(套接字文件)

b. 文件权限的表示方法:r=4(读);w=2(写);x=1(执行)

c. -rw-r-xr--:前三位表示文件所属用户的权限、中间三位表示文件所属用户组的权限、后面三位表示文件其他用户的权限

(1)chmod命令修改权限:# chmod u+x 目录或文件

                                             # chmod 755 目录或文件

(2)chown命令修改目录或文件的用户、用户组:# chown 用户:用户组 目录或文件

(3)chgrp命令修改目录或文件的用户组(命令不常用):# chgrp 用户组 目录或文件

---↑上面介绍了如何更改属主和属组,↓下面介绍如何修改权限:

扩展1:若用户1对文件不具有任何权限,用户组1对文件具有w权限,但用户1又属于用户组1,就出现了权限冲突。此时则以用户1权限为准(即用户1不具有任何权限),用户组1里面的其他用户对文件具有w权限。

扩展2:对于文件,r是可读(可以使用cat等命令查看文件)、w是可写(可以使用echo xxx > 文件将内容xxx写进文件中)

             对于目录,r是可读(可以使用ls命令查看该目录下有哪些目录或文件)、w是可写(可以对该目录下的目录或文件进行删除)、x是可进入(具有进入该目录的权限)

扩展3:特殊权限:

三、压缩、解压缩

一些选项:

1、打包、解包:tar 命令

(1)打包:# tar -cvf 文件名.tar 文件1 文件2 文件3 -C /存放路径

 

(2)查看压缩包里面的内容:# tar -tf 文件名.tar

 

(3)解包:# tar -xvf 文件名.tar -C /提取路径

 

注:这里dabao.tar解压后是“xj-1”文件夹,进入这个文件夹才显示3个文件

(4)打包时指定存放路径+进入相对路径打包:# tar -cvf 目录/文件名.tar 文件1 文件2 文件3

(5)绝对路径打包:# tar -cvf 目录/文件名.tar .../文件1 .../文件2 .../文件3

(6)打包时排除指定文件:tar -cvf 文件名.tar --exclude=文件2 *

2、压缩、解压缩:tar 命令

三种压缩方式如下:

  1)gzip:压缩的速度最快,压缩大文件的时候与其他的压缩方式相比更加明显,历史最久,应用最广泛的压缩方式
  2)bzip:压缩形成的文件小,但是可用性不如gzip
  3)xz:最新的压缩方式,可以自动提供最佳的压缩率

(1)gzip方式压缩:# tar -zcvf …/文件名.tar.gz 文件1 文件2 文件3

(2)bzip2方式压缩:# tar -jcvf …/文件名.tar.bz2 文件1 文件2 文件3

(3)xz方式压缩:# tar -Jcvf …/文件名.tar.xz 文件1 文件2 文件3

注:压缩速度:gz > bz2 > xz
       压缩率:xz > bz2 > gz

(4)gzip方式压缩的包进行解压缩:# tar -zxvf …/文件名.tar.gz -C /解压后路径

(5)bzip2方式压缩的包进行解压缩:# tar -jxvf …/文件名.tar.bz2 -C /解压后路径

(6)xz方式压缩的包进行解压缩:# tar -Jxvf …/文件名.tar.xz -C /解压后路径

注:tar命令在解压的时候可以不需要指明压缩的方式,会自己选择跟压缩方式对应的方式去解压。即可以不用带上-z/j/J,直接使用-xf

3、压缩、解压缩:zip、unzip 命令

一些选项:

(1)正常压缩:# zip -r …/文件名.zip 文件夹或文件名

         压缩多个文件:# zip …/文件名.zip 文件1 文件2 文件3

(2)安静压缩(不显示压缩过程):# zip -rq …/文件名.zip 文件夹或文件名

(3)压缩时排除指定的文件:# zip -r …/文件名.zip /文件夹 -x “需要排除的文件”

 

(4)解压缩并指定解压后的目录:# unzip .../文件名.zip -d 目录

注:不指定解压后的目录则解压到当前目录

(5)查看压缩包里面的内容:# unzip -v .../文件名.zip

(6)验证压缩包里面的内容是否完整:# unzip -t .../文件名.zip

四、查找命令

1、文本搜索:grep 命令

在文件中查找特定字符串,如在my.cnf文件中查找utf字符串):# grep utf my.cnf

2、目录、文件查找:find 命令

见【二.4】,此处不再重复描述

3、目录、文件查找:locate 命令

4、定位可执行文件、源代码文件、帮助文件在文件系统中的位置(这些文件的属性应属于原始代码,二进制文件,或是帮助文件):whereis 命令

一些选项:

5、在PATH变量指定的路径中,搜索某个系统命令的位置并返回第一个搜索结果:which 命令

五、su、sudo命令

1、切换登录登录:su 命令

(1)切换用户登录:# su - xx

(2)切换用户登录,不完全切换,不会自动进入家目录:# su xx(进入切换前那个用户所在的目录)

(3)退出当前用户,直接登录到上一次切换前登录的用户:# exit

扩展1:id命令可以验证当前自己是哪个用户

扩展2:从root用户切换到普通用户不需要输入密码,但普通用户切换需要输入密码

2、让普通用户具有临时使用root权限的权力,只需要输入自己账号的密码即可:sudo 命令

使用visudo赋予普通用户执行命令shutdown -c的权限:

使用# visudo打开↓如下界面(或使用命令:# vi /etc/sudoers 打开这个文件),按i进入编辑插入模式,在末尾添加一行:

当不知道要赋予的命令位置在哪儿时,使用↓如下方式进行查询:按esc退出,输入:!which shutdown,然后回车:

扩展:

六、系统服务

1、查看XXX服务的状态、开启/关闭XXX服务、重启XXX服务service 命令

(1)查看XXX服务的状态:# service xxx status

(2)开启XXX服务:# service xxx start

(3)关闭XXX服务:# service xxx stop

(4)重启XXX服务:# service xxx restart

2、开启/关闭XXX服务开机自启动(永久开启/永久关闭):chkconfig 命令

(1)开启XXX服务的开机自启动:# chkconfig xxx on

(2)关闭XXX服务的开机自启动:# chkconfig xxx off

【例】以防火墙服务为例:

扩展:关于防火墙其他的操作:

3、查看XXX服务状态、开启/关闭XXX服务、重启XXX服务--statesystemctl、--reload 命令

(1)查看XXX服务的状态:# xxx --state

(2)开启XXX服务:# systemctl start xxx

(3)关闭XXX服务:# systemctl stop xxx

(4)重启XXX服务:xxx --reload

 4、开启/关闭XXX服务开机自启动(永久开启/永久关闭):systemctl 命令

(1)开启XXX服务的开机自启动:# systemctl enable xxx

(2)关闭XXX服务的开机自启动:# systemctl disable xxx

【例】以防火墙服务为例:

 

扩展:关于防火墙其他的操作:

注:CentOS 6 使用 service 命令,CentOS 7 使用 systemctl 命令

七、用户、用户组相关命令

1、新建/删除用户、新建/删除用户组、修改用户密码、修改用户属性:useradd、userdel、groupadd、groupdel、passwd、usermod 命令

(1)新建用户:# useradd xx

注:只有root用户才具有创建普通用户的权限,创建用户时,若没有指定用户组,会自动创建与用户同名的用户组

扩展:可使用id命令查看是否有某个用户,新建的用户会被记录到/etc/passwd和/etc/shadow文件中:              

(2)删除用户,/home目录下的信息会保留:# userdel xx

         删除用户,/home目录下的信息不会保留:# userdel –r xx

(3)给用户设置密码:# passwd xx

注:如果直接输入passwd命令,则是更改自己的密码

(4)修改用户属性(如将用户xx的家目录修改为目录1):# usermod -d 目录1 用户名1

         修改用户属性(如将用户xx的用户组修改为组1):# usermod -g 组1 用户名1

(5)新建用户组:# groupadd 组1

         新建用户时直接指定用户组:# useradd -g 组1 用户名1

(6)删除用户组:# groupdel 组1

注:当用户组下含有用户时,删除用户组会失败,只能删除空的用户组

2、用户相关的配置文件:文件 passwd、shadow、group

(1)配置文件/etc/passwd:# cat /etc/passwd

(2)配置文件/etc/shadow:# cat /etc/shadow

(3)配置文件/etc/group:# cat /etc/group

八、进程查看

1、静态查看进程:ps 命令

(1)不加任何选项的ps

(2)显示所有进程1:# ps ax

显示所有进程2:# ps -aux

显示所有进程3:# ps -ef

(3)查看特定用户的进程:# ps -f -u 用户名

(4)查看某个进程下的所有线程:# ps -T p PID

                                                        # ps -T -p PID

                                                        # ps -T q PID

                                                        # ps -T -q PID

注:命令中的-T也可以替换为-L,结果一样

2、动态查看进程:top 命令

(1)默认命令(默认按照CPU的占用量降序排序):# top

扩展:# uptime命令,显示的是top命令后内容的第一行

(2)按数字“1”,查看每个逻辑CPU的状况:

(2)按“x”,高亮显示目前的排序列,再次按“x”,关闭高亮:

(3)按”b',时目前加亮的一列高亮显示,再次按“b”,关闭高亮:

(4)按“shift+<”或“shift+>“,改变排序列为当前列的左边一列或右边一列:

(5)按'f”显示所有top视图中可显示的所有字段。有“*”号的是目前显示出来的,如果需要显示其他的字段,可以给其他字段打上“*”号:

3、结束进程:kill 命令

(1)结束进程:kill pid

(2)强制结束进程:kill -9 pid

注:pid 是进程号

十、其他命令

1、显示当前的目录名称:pwd 命令

2、通配符:

(1)匹配任何字符串:*

(2)匹配一个字符:?

扩展:其他通配符

1)[xyz]匹配xyz任意一个字符
2)[a-z]匹配一个范围
3)[!xyz]或[^xyz]不匹配

3、清屏:clear 命令

(1)使用命令:# clear

(2)使用快捷键:ctrl + l

4、查看与某台机器的连接情况:ping 命令

使用命令:# ping ip

5、查看端口:netstat 命令

(1)使用当前系统的端口:# netstat -an

(2)查看指定端口:# netstat -an | grep 端口号

6、查看网卡信息:ifconfig、ip addr 命令

7、查看磁盘使用情况:df 命令

(1)查看磁盘使用情况:# df

(2)查看全部文件系统:# df -a 或 # df -all

注:单位默认为KB

(2)以指定的区块大小显示区块数目:# df --block-size=10240

扩展:

(3)以可读性高的方式显示信息:# df -h 或 # df --human-readable

                                                        # df -H 或 # df --si

(4)显示inode的信息:# df -i 或 # df --inodes

(5)仅显示指定文件系统类型的磁盘信息:# df -t 文件系统

(6)不显示指定文件系统类型的磁盘信息:# df -x 文件系统 或 # df --exclude-type=文件系统

(7)显示文件系统的类型:# df -T 或 # df --print-type

8、查看文件系统使用情况:du 命令

(1)显示当前目录下的子目录大小和当前目录总的大小,最下面的为当前目录的总大小:# du

(2)显示指定文件所占空间:# du 文件名

         显示指定目录所占空间:# du 目录名

(3)显示多个文件所占空间:# du 文件1 文件2

(4)只显示总和大小:# du -s

(5)方便阅读的格式显示:# du -h 目录名

(6)文件和目录都显示:# du -ah 目录名

(7)显示多个文件文件或目录所占空间大小并统计它们的总大小:# du -c 文件1 文件2 目录1

9、管道符号:“ |

命令1 | 命令2:意思是命令1的输出内容将作为命令2的输入内容

10、查看、修改日期:date 命令

11、查看日历:cal 命令

12、计算器命令:bc 命令

十一、其他命令-服务管理

1、网络配置相关知识

(1)ifconfig命令(查看网络配置)

注:centos 7中自带的查看网络的命令是: ip addr,如果想要使用 ifconfig命令,需要安装net-tools:

(2)修改网卡名(例:将网卡名enp0s5转化为eth0)

只需要增加后面的biosdevname和net.ifnames两个值就可以了,这两个设置项都把值指定为0后,保存退出,此时不会自动生效,需要先执行命令转化为我们系统启动时会读取的文件:# grub2-mkconfig –o /boot/grub2/grub.cfg

扩展:

(3)route命令(查看网关命令)

添加/删除默认网关:# route add/del default gw ip

添加/删除指定网关:# route add/del -host ip gw ip

                                 # route add/del -net ip netmask ip gw ip

2、网络故障排除命令:ping,traceroute,mtr,nslookup,telnet,tcpdump,netstat,ss

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多