对于学习Linux系统来说,命令是必须熟练掌握的第一个部分。Linux系统中的命令有600多个,但常用的基础命令并不多。虽然不同版本的Linux系统的命令稍有不同,但命令的语法与使用方法基本相同,因此读者只要掌握了CentOS 7中常用的基础命令,就能熟悉其他Linux系统版本的命令了。本章通过分类方式来介绍常用基础命令的语法与使用方法。
3.1 系统管理命令
3.1.1 man命令
1.功能说明
man命令用来查看指定命令的帮助信息,其语法格式如下。
man [命令名称]
2.实例
以下命令用来查看cd命令的帮助信息。
[root@test ~]# man cd
3.1.2 ls命令
1.功能说明
ls 命令用来显示指定目录下的内容,列出指定目录下所含的文件及子目录。此命令与Windows系统中的dir命令功能相似。ls命令的语法格式如下。
ls [选项] [目录或文件]
2.常用选项
ls命令的常用选项及其说明见表3-1。
表3-1 ls命令的常用选项及其说明
3.实例
(1)以下命令列出/root目录下的文件及子目录的详细信息。
[root@test ~]# ls -l /root/total 4-rw-------. 1 root root 1330 Mar 26 09:50 anaconda-ks.cfgdrwxr-xr-x 2 root root 6 Apr 24 01:59 testdrwxr-xr-x 2 root root 6 Apr 24 01:59 tools
(2)以下命令以时间顺序倒序显示/root目录下的文件及子目录,并显示其详细信息。
[root@test ~]# ls -lrt /root/total 4-rw-------. 1 root root 1330 Mar 26 09:50 anaconda-ks.cfgdrwxr-xr-x 2 root root 6 Apr 24 01:59 testdrwxr-xr-x 2 root root 6 Apr 24 01:59 tools
3.1.3 cd命令
1.功能说明
cd命令用于切换目录,其语法格式如下。
cd [选项]
2.常用选项
cd命令的常用选项及其说明见表3-2。
表3-2 cd命令的常用选项及其说明
3.实例
(1)以下命令用于切换到/usr/local目录下。
[root@test ~]# cd /usr/local/[root@test local]# pwd/usr/local
(2)以下命令用于切换到当前登录用户的家目录下。
[root@test local]# whoamiroot[root@test local]# cd ~[root@test ~]# pwd/root
3.1.4 useradd命令
1.功能说明
useradd命令用于创建新的系统用户,其语法格式如下。
useradd [选项] 用户名
2.常用选项
useradd命令的常用选项及其说明见表3-3。
表3-3 useradd命令的常用选项及其说明
3.实例
(1)创建一个名为mingongge的新用户,创建命令如下。
[root@test ~]# useradd mingongge[root@test ~]# tail -1 /etc/passwdmingongge:x:1001:1001::/home/mingongge:/bin/bash
从上述命令输出结果可以看出,创建新用户时,默认用户家目录为/home/用户名。
(2)创建一个名为mgg的新用户,并指定其家目录为/root/mgg,用户ID为9999,创建命令如下。
[root@test ~]# useradd mgg -d /root/mgg -u 9999[root@test ~]# tail -1 /etc/passwd #检查是否添加成功mgg:x:9999:9999::/root/mgg:/bin/bash
3.1.5 passwd命令
1.功能说明
passwd命令用于设置/修改用户密码,其语法格式如下。
passwd [用户名]
2.实例
(1)管理员用户修改普通用户的密码,命令如下。
[root@test ~]# whoamiroot[root@test ~]# passwd mggChanging password for user mgg.New password: BAD PASSWORD: The password is shorter than 8 charactersRetype new password: passwd: all authentication tokens updated successfully.
根据提示输入两次密码即可。
(2)普通用户修改自己的密码,命令如下。
[mingongge@test ~]$ passwdChanging password for user mingongge.Changing password for mingongge.(current) UNIX password: New password: Retype new password: passwd: all authentication tokens updated successfully.
根据提示输入原来的旧密码,然后连续两次输入新密码即可。
3.1.6 free命令
1.功能说明
free命令用于查看系统内存状态,包括系统物理内存、虚拟内存、系统缓存。free命令的语法格式如下。
free [选项]
2.常用选项
free命令的常用选项及其说明见表3-4。
表3-4 free命令的常用选项及其说明
3.实例
(1)以MB为单位显示当前系统内存的使用情况,命令如下。
[root@test ~]# free -m total used free shared buff/cache availableMem: 976M 67M 792M 6M 115M 766MSwap: 2G 0 2G
(2)以总和的形式显示当前系统内存的使用情况,命令如下。
[root@test ~]# free -t total used free shared buff/cache availableMem: 999696 69272 812344 6716 118080 785840Swap: 2097148 0 2097148Total: 3096844 69272 2909492
默认单位为KB。
3.1.7 whoami命令
1.功能说明
whoami命令用于显示当前登录到系统的用户名,其语法格式如下。
whoami [选项]
2.常用选项
whoami命令的常用选项及其说明见表3-5。
表3-5 whoami命令的常用选项及其说明
3.实例
查看当前登录到系统的用户名,命令如下。
[root@test ~]# whoamiroot
从上述命令输出结果可以看出,当前登录到系统的用户为root用户。
3.1.8 ps命令
1.功能说明
ps命令用于显示当前进程的状态,其语法格式如下。
ps [选项]
2.常用选项
ps命令的常用选项及其说明见表3-6。
表3-6 ps命令的常用选项及其说明
ps命令的选项特别多,读者可以自行使用“man ps”命令查看其帮助信息。
3.实例
查看系统所有的进程信息,命令如下。
[root@test ~]# ps -efUID PID PPID C STIME TTY TIME CMDroot 1 0 0 09:20 ? 00:00:01 /usr/lib/systemd/systemd --switched-root --system --deserialize root 2 0 0 09:20 ? 00:00:00 [kthreadd]root 3 2 0 09:20 ? 00:00:00 [ksoftirqd/0]……(中间部分结果省略)root 4701 2 0 12:06 ? 00:00:38 [kworker/0:1]postfix 4786 926 0 14:20 ? 00:00:00 pickup -l -t unix -uroot 4791 2 0 14:21 ? 00:00:00 [kworker/0:0]root 4817 2 0 14:26 ? 00:00:00 [kworker/0:2]root 4820 1178 0 14:28 pts/0 00:00:00 ps -ef
上述进程信息各部分的含义如下。
- UID:使用此进程的用户ID。
- PID:进程的进程ID。
- PPID:进程的父进程ID。
- C:运行此进程CPU占用率。
- STIME:此进程开始运行时间。
- TTY:开启此进程的终端。
- TIME:此进程运行的总时间。
- CMD:正在执行的命令行。
3.1.9 date命令
1.功能说明
date命令用于显示或修改系统时间与日期,其语法格式如下。
date [选项] 显示时间格式(以“+”开头,后面接时间格式参数)
2.常用选项及时间格式
date命令的常用选项及其说明见表3-7。
表3-7 date命令的常用选项及其说明
date命令显示时间格式及其说明见表3-8。
表3-8 date命令显示时间格式及其说明
3.实例
(1)显示系统当前时间,命令如下。
[root@test ~]# dateSat May 5 15:35:23 CST 2018
(2)用指定的格式显示时间和日期,命令如下。
[root@test ~]# date '+Today is:%D, now is:%T'Today is:05/05/18, now is:15:40:03
(3)修改系统当前时间,命令如下。
[root@test ~]# dateSat May 5 16:11:39 CST 2018[root@test ~]# date -s 20000505Fri May 5 00:00:00 CST 2000
(4)显示当前时间5天前和5天后的时间,命令如下。
[root@test ~]# dateFri May 5 00:01:18 CST 2000[root@test ~]# date -d '5 day ago' #显示5天前的时间Sun Apr 30 00:01:38 CST 2000[root@test ~]# date -d '+5 days' #显示5天后的时间Wed May 10 00:05:29 CST 2000
3.1.10 pwd命令
1.功能说明
pwd命令用于显示或打印当前工作目录。执行pwd命令后可知当前所在工作目录的绝对路径。pwd命令的语法格式如下。
pwd [选项]
pwd命令的常见选项是“--help”,用于显示帮助信息。
2.实例
显示当前所在的工作目录,命令如下。
[root@test ~]# pwd/root
通过上述命令输出结果可知,当前工作目录是root用户家目录。
3.1.11 shutdown命令
1.功能说明
shutdown命令用于对系统执行关机操作,其语法格式如下。
shutdown [选项]
2.常用选项
shutdown命令的常用选项及其说明见表3-9。
3.实例
将系统立即关机,命令如下。
[root@test ~]# shutdown -h nowConnection closing...Socket close.Connection closed by foreign host.Disconnected from remote host at 22:29:25.Type 'help' to learn how to use Xshell prompt.
从上述结果来看,执行完命令后,连接马上就断开了。
3.2 文件目录管理命令
3.2.1 touch命令
1.功能说明
touch命令用于修改文件的时间属性,若文件不存在,系统会自动创建此文件(因此也可以使用touch命令来创建新空白文件),且此文件创建时间为当前系统时间。touch命令的语法格式如下。
touch [选项] 文件名
2.常用选项
touch命令的常用选项及其说明见表3-10。
表3-10 touch命令的常用选项及其说明
3.实例
(1)创建一个新的空白文件并查看其创建时间,命令如下。
[root@test ~]# dateFri May 5 00:43:37 CST 2000[root@test ~]# touch newfile[root@test ~]# ls -ltotal 0-rw-r--r-- 1 root root 0 May 5 00:43 newfile
(2)修改文件的访问时间为系统当前时间,命令如下。
[root@test ~]# ls -lutotal 0-rw-r--r-- 1 root root 0 May 5 17:14 file.txt[root@test ~]# dateSat May 5 17:17:28 CST 2018[root@test ~]# touch -a file.txt [root@test ~]# ls -lutotal 0-rw-r--r-- 1 root root 0 May 5 17:17 file.txt
(3)修改文件的修改时间为系统当前时间,命令如下。
[root@test ~]# ls -ltotal 0-rw-r--r-- 1 root root 0 May 5 17:14 file.txt[root@test ~]# dateSat May 5 17:21:23 CST 2018[root@test ~]# touch -m file.txt [root@test ~]# ls -ltotal 0-rw-r--r-- 1 root root 0 May 5 17:21 file.txt
(4)修改文件的访问时间为参考文件的时间,命令如下。
[root@test ~]# ls -lu /usr/local/access-rw-r--r-- 1 root root 0 May 5 17:23 /usr/local/access[root@test ~]# ls -lu file.txt -rw-r--r-- 1 root root 0 May 5 17:17 file.txt[root@test ~]# touch -a -r /usr/local/access file.txt[root@test ~]# ls -lu file.txt -rw-r--r-- 1 root root 0 May 5 17:23 file.txt
3.2.2 cat命令
1.功能说明
cat命令用于查看文件内容,还可以合并文件,如果合并后的文件不存在,则自动创建。cat命令的语法格式如下。
cat [选项] 文件名cat 文件a 文件b >文件c
2.常用选项
cat命令的常用选项及其说明见表3-11。
3.实例
(1)查看文件test.txt的内容并对所有输出行数编号,命令如下。
[root@test ~]# cat -n test.txt 1 #version=DEVEL 2 # System authorization information 3 4 5 auth --enableshadow --passalgo=sha512 6 7 # Use CDROM installation media
(2)将test.txt文件内容加上行号后输入文件test1.txt中,命令如下。
[root@test ~]# cat -n test.txt > test1.txt[root@test ~]# cat -n test1.txt 1 1 #version=DEVEL 2 2 # System authorization information 3 3 4 4 5 5 auth --enableshadow --passalgo=sha512 6 6 7 7 # Use CDROM installation media
(3)将test.txt文件和test1.txt文件合并到file文件中,命令如下。
[root@test ~]# cat test.txt test1.txt >file[root@test ~]# cat file #version=DEVEL# System authorization informationauth --enableshadow --passalgo=sha512# Use CDROM installation media 1 #version=DEVEL 2 # System authorization information 3 4 5 auth --enableshadow --passalgo=sha512 6 7 # Use CDROM installation media
3.2.3 mkdir命令
1.功能说明
mkdir命令用于创建一个新目录,其语法格式如下。
mkdir [选项] 目录名
2.常用选项
mkdir命令的常用选项及其说明见表3-12。
3.实例
(1)在/test目录下创建新目录file,同时设置文件属主有读、写和执行权限,属组有读、写权限,其他人只有读权限,命令如下。
[root@test ~]# mkdir -m 764 /test/file[root@test ~]# ls -ld /test/filedrwxrw-r-- 2 root root 6 May 5 10:02 /test/file
(2)在/test目录下创建testfile目录,并在testfile目录下创建filetest目录,命令如下。
[root@test ~]# mkdir -p /test/testfile/filetest[root@test ~]# tree /test//test/├── file└── testfile └── filetest3 directories, 0 files
3.2.4 rm命令
1.功能说明
rm命令用于删除文件或目录。使用rm命令时要注意,一旦文件或目录被删除,就无法再恢复。rm命令的语法格式如下。
rm [选项] [文件或目录]
2.常用选项
rm命令的常用选项及其说明见表3-13。
3.实例
(1)删除文件test.txt和文件test1.txt,并在删除前进行确认,命令如下。
[root@test ~]# rm -i test.txt test1.txt rm: remove regular file 'test.txt'? yrm: remove regular file 'test1.txt'? y
输入y确认删除。
(2)删除/test目录下的所有目录,在删除前不进行确认,命令如下。
[root@test ~]# rm -rf /test/[root@test ~]# ls /testls: cannot access /test: No such file or directory
3.2.5 cp命令
1.功能说明
cp命令用于复制,它可以将单个文件复制成一个指定文件名的文件或将其复制到一个存在的目录下,还可以同时复制多个文件或目录。cp命令的语法格式如下。
cp [选项] [文件名或目录名]cp [选项] 源文件或目录 目标文件或目录
2.常用选项
cp命令的常用选项及其说明见表3-14。
表3-14 cp命令的常用选项及其说明
篇幅有点长,就截选这么多了。
本文摘自《Linux系统运维指南:从入门到企业实战》
本书系统全面、由浅入深地介绍了Linux系统运维的知识,以及在企业实际环境中用到的各类服务、架构和运维管理。本书分基础篇、LAMP/LNMP架构篇、应用服务篇和架构运用篇。基础篇详细介绍Linux系统的基础知识,LAMP/LNMP架构篇介绍时下企业中最常见的两种架构的部署与配置,应用服务篇以企业实际运维环境为出发点详细介绍当下企业用到的各类开源软件服务,架构运用篇对前三篇的知识进行总结,并结合企业的实际场景加以实践。