常用系统工作命令
1. cat 命令
cat命令用于查看纯文本文件(内容较少的),格式为 "cat [选项] [文件]"
将 networks 文件内容输出到控制台查看:
代码语言:javascript复制[root@localhost ~]# cat /etc/networks
default 0.0.0.0
loopback 127.0.0.0
link-local 169.254.0.0
2. date 命令
date命令用于显示及设置系统的时间或日期,格式为 "date [选项] [ 指定的格式]"
按照 "年-月-日 时:分:秒" 的格式查看当前系统时间:
代码语言:javascript复制[root@localhost ~]# date " %Y-%m-%d %H:%M:%S"
2018-08-21 16:12:39
3. shutdown 命令
shutdown 指令可以依据用户的需要,进行重新开机或关机的动作,格式为 "shutdown [选项] [参数]"
立即重启系统:
代码语言:javascript复制[root@localhost ~]# shutdown -r now
10分钟后关机:
代码语言:javascript复制[root@localhost ~]# shutdown -h 10
4. nano 命令
nano 命令可以打开指定文件进行编辑,格式为 "nano [选项] [文件名]"
查看编辑 bashrc 脚本:
代码语言:javascript复制[root@localhost ~]# nano ~/.bashrc
按 Ctrl X 退出编辑,如果你修改了文件,会询问你是否需要保存修改。输入Y确认保存,输入N不保存,按Ctrl C取消返回。
5. wget 命令
wget 命令用于在终端中下载网络文件,格式为 "wget [参数] 下载地址"
下载 Python 3.7 的源码包:
代码语言:javascript复制[root@localhost ~]# wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
6. tar 命令
tar 命令用于对文件进行打包压缩或解压,格式为 "tar [选项] [文件]"
把 root 文件夹进行打包(tar)压缩(gzip):
代码语言:javascript复制[root@localhost tmp]# tar -zcvf /tmp/root.tar.gz /root
解压 root.tar.gz 文件:
代码语言:javascript复制[root@localhost tmp]# tar -zxvf root.tar.gz
z 表示用 gzip 压缩或解压,c 表示创建压缩文件,x 表示解开压缩文件,v 表示显示压缩或解压的过程,f 参数后接目标文件名。
7. ps 命令
ps 命令用于查看系统中的进程状态,格式为 "ps [参数]"
抓取与 sshd 服务有关的进程信息:
代码语言:javascript复制[root@localhost ~]# ps -aux | grep sshd
root 1029 0.0 0.1 112812 4280 ? Ss 14:45 0:00 /usr/sbin/sshd -D
root 2639 0.0 0.1 160900 5608 ? Ss 14:46 0:00 sshd: root@pts/0
root 3009 0.0 0.0 112708 960 pts/0 S 15:09 0:00 grep --color=auto sshd
a 表示显示所有进程,u 表示用户以及其他详细信息,x 表示显示没有控制终端的进程。
8. killall 命令
killall 命令用于终止某个指定名称的服务所对应的全部进程,格式为 "killall [参数] [进程名称]"
使用 killall 命令来批量结束 sshd 服务程序带有的全部进程:
代码语言:javascript复制[root@localhost ~]# killall sshd
9. find 命令
find 命令用于按照指定条件来查找文件,格式为 "find [查找路径] 寻找条件"
获取 /etc 目录中所有以 host 开头的文件列表:
代码语言:javascript复制[root@localhost ~]# find /etc -name "host*"
/etc/host.conf
/etc/hosts
/etc/hosts.allow
/etc/hosts.deny
/etc/selinux/targeted/active/modules/100/hostname
/etc/hostname
/etc/avahi/hosts
Linux 下的查找命令:
- find 命令:是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。
- grep 命令:是根据文件的内容进行查找,会对文件的每一行按照给定的正则模式进行匹配查找。
- which 命令:查看可执行文件的位置 ,只有设置了环境变量的程序才可以用。
- whereis 命令:寻找特定文件,只能用于查找二进制文件、源代码文件和 man 手册页。
- locate 命令:配合数据库查看文件位置,详情 "locate -h" 查看帮助信息。
文件目录管理命令
1. pwd 命令
pwd 命令用于显示用户当前所处的工作目录,格式为 "pwd [选项]"
查看当前 bin 目录的完整路径:
代码语言:javascript复制[root@localhost bin]# pwd
/usr/local/python3/bin
2. cd 命令
cd 命令用于切换工作路径,格式为 "cd [目录名称]"
快速切换到用户主目录:
代码语言:javascript复制[root@localhost bin]# cd ~
[root@localhost ~]#
3. ls 命令
ls 命令用于显示目录中的文件信息,格式为 "ls [选项] [文件]"
查看当前目录下所有文件的详细信息:
代码语言:javascript复制[root@localhost db]# ls -al
total 12
drwxr-xr-x. 3 root root 34 Aug 15 11:29 .
drwxr-xr-x. 21 root root 4096 Aug 20 14:19 ..
-rw-r--r--. 1 root root 5345 Apr 10 15:57 Makefile
drwx------. 3 root root 22 Jun 28 02:03 sudo
4. touch 命令
touch 命令用于创建空白文件或设置文件的时间,格式为 "touch [选项] [文件]"
通过 touch 命令同时修改文件读取时间和修改时间:
代码语言:javascript复制[root@localhost tmp]# touch -d "1970-01-01 00:00:00" config
5. mkdir 命令
mkdir 命令用于创建空白的目录,格式为 "mkdir [选项] 目录"
递归创建出具有嵌套叠层关系的文件目录:
代码语言:javascript复制[root@localhost tmp]# mkdir -p /tmp/www/baidu/com
6. cp 命令
cp 命令用于复制文件或目录,格式为 "cp [选项] 源文件 目标文件"
在Linux系统中,复制操作具体分为3种情况:
- 如果目标文件是目录,则会把源文件复制到该目录中;
- 如果目标文件也是普通文件,则会询问是否要覆盖它;
- 如果目标文件不存在,则执行正常的复制操作;
将 root 文件夹完整拷贝到 /tmp 目录下:
代码语言:javascript复制[root@localhost ~]# cp -a /root /tmp/
7. mv 命令
mv 命令用于剪切文件或将文件重命名,格式为 "mv [选项] 源文件 [目标路径|目标文件名]"
在同一个目录中对一个文件进行剪切操作(作用等同于重命名):
代码语言:javascript复制[root@localhost tmp]# mv oldname newname
8. rm 命令
rm 命令用于删除文件或目录,格式为 "rm [选项] 文件"
强制删除 /tmp 目录下的所有文件:
代码语言:javascript复制[root@localhost tmp]# rm -rf /tmp/*
9. dd 命令
dd 命令用于按照指定大小和个数的数据块来复制文件或转换文件,格式为 "dd [参数]"
创建一个 400MB 的空白数据块:
代码语言:javascript复制[root@localhost tmp]# dd if=/dev/zero of=/tmp/blank count=4 bs=100M
if 表示输入的文件名称,of 表示输出的文件名称,bs 表示设置每个块的大小,count 表示设置要复制块的个数。
10. file 命令
file 命令用于查看文件的类型,格式为 "file 文件名"
当文件扩展名被隐藏时,使用 file 命令查看文件类型:
代码语言:javascript复制[root@localhost tmp]# file file.hide
file.hide: gzip compressed data, from Unix, last modified: Wed Aug 22 11:43:31 2018
系统状态检测命令
1. ifconfig 命令
ifconfig 命令用于获取网卡配置与网络状态等信息,格式为 "ifconfig [网络设备] [参数]"
查看本机当前的网卡配置与网络状态等信息:
代码语言:javascript复制[root@localhost ~]# ifconfig
enp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.4.114 netmask 255.255.255.0 broadcast 192.168.4.255
inet6 fe80::7871:6541:cca4:c949 prefixlen 64 scopeid 0x20<link>
ether 9c:5c:8e:be:3c:fa txqueuelen 1000 (Ethernet)
RX packets 11405 bytes 995746 (972.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 8051 bytes 1552964 (1.4 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp3s0 表示网卡名称,inet 表示 IP 地址,netmask 表示掩码地址,broadcast 表示广播地址,ether 表示网卡物理地址,RX 和 TX 表示接收和发送数据包的个数以及累计流量。
2. uptime 命令
uptime 用于查看系统的负载信息,格式为 "uptime"
显示当前系统时间、系统已运行时间、启用终端数量以及平均负载值等信息:
代码语言:javascript复制[root@localhost ~]# uptime
09:42:34 up 17:24, 3 users, load average: 0.00, 0.01, 0.05
3. free 命令
free 用于显示当前系统中内存的使用量信息,格式为 "free [-h]"
以更人性化的方式输出当前内存的实时使用量信息:
代码语言:javascript复制[root@localhost ~]# free -h
total used free shared buff/cache available
Mem: 3.6G 748M 2.1G 207M 741M 2.4G
Swap: 3.7G 0B 3.7G
4. who 命令
who 用于查看当前登入主机的用户终端信息,格式为 "who [参数]"
显示出所有正在登录本机的用户信息:
代码语言:javascript复制[root@localhost ~]# who
oaa pts/0 2018-08-21 16:18 (:0)
root pts/1 2018-08-22 08:43 (192.168.4.105)
5. last 命令
last 命令用于查看所有系统的登录记录,格式为 "last [参数]"
查看本机的历史登录记录:
代码语言:javascript复制[root@localhost ~]# last
reboot system boot 3.10.0-862.11.6. Tue Aug 21 16:18 - 09:47 (17:29)
root pts/1 192.168.4.105 Tue Aug 21 16:06 - 16:17 (00:11)
oaa pts/0 :0 Tue Aug 21 15:38 - 16:17 (00:39)
6. history 命令
history 命令用于显示历史执行过的命令,格式为 "history [-c]"
显示最近使用的 5 条历史命令:
代码语言:javascript复制[root@localhost ~]# history 5
589 ifconfig
590 clear
591 yum update
592 cd ~
593 history 5
清空当前用户在本机上执行的命令历史记录信息:
代码语言:javascript复制[root@localhost ~]# history -c