新手需知的 Linux 基础命令

2020-01-06 15:38:28 浏览数 (2)

常用系统工作命令

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

0 人点赞