一、基本命令
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服务:--state、systemctl、--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