📜  linux 中的更多命令 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:32:41.518000             🧑  作者: Mango

Linux 中的更多命令 - Shell-Bash

在Linux系统中,Shell是一个非常重要的部分。Shell有很多种,比如Bash、ksh、tcsh等,其中Bash是最常用的一种。Bash支持很多命令,我们今天就来介绍一些常用的Shell-Bash命令。

文件相关命令
1. ls

ls命令是列出文件和目录的命令,常用的选项有:

  • -l 显示文件的详细信息;
  • -a 显示所有文件,包括隐藏文件;
  • -h 人类可读的文件大小格式。
$ ls -l
-rw-r--r--  1 user  501     0B  3 Jan 11:28 file1.txt
-rw-r--r--  1 user  501   303B  3 Jan 11:28 file2.txt
-rw-r--r--  1 user  501   1.1K  3 Jan 11:28 file3.txt

$ ls -a
.   ..   .hidden_file   directory

$ ls -lh
-rw-r--r-- 1 user 501 0B Jan  3 11:28 file1.txt
-rw-r--r-- 1 user 501 303B Jan  3 11:28 file2.txt
-rw-r--r-- 1 user 501 1.1K Jan  3 11:28 file3.txt
2. cp

cp命令是拷贝文件的命令,常用的选项有:

  • -r 递归复制目录及子目录;
  • -i 在覆盖文件前询问是否进行覆盖;
  • -p 保留文件的所有属性,如权限、时间等。
$ cp file1.txt file4.txt
$ cp -r directory directory_copy
$ cp -i file1.txt file4.txt
$ cp -p file1.txt file4.txt
3. rm

rm命令是删除文件或目录的命令,常用的选项有:

  • -r 递归删除目录及子目录;
  • -f 强制删除,不询问确认。
$ rm file1.txt
$ rm -r directory
$ rm -f file1.txt
4. mv

mv命令是移动文件或目录的命令,也可以用来重命名文件或目录。

$ mv file1.txt directory/
$ mv directory directory_newname
$ mv file1.txt file_newname.txt
系统状态命令
1. top

top命令可以实时显示系统的资源情况,包括CPU、内存、进程等。

$ top
2. free

free命令可以显示系统的内存使用情况。

$ free -h
              total        used        free      shared  buff/cache   available
Mem:           7.8G        2.9G        1.1G        8.0M        3.8G        4.5G
Swap:            0B          0B          0B
3. ps

ps命令可以显示系统中运行的进程。

$ ps -ef
UID          PID    PPID  C STIME TTY          TIME CMD
root           1       0  0 Jan02 ?        00:00:04 /sbin/init splash
root           2       0  0 Jan02 ?        00:00:00 [kthreadd]
root           3       2  0 Jan02 ?        00:00:00 [rcu_gp]
...
网络命令
1. ping

ping命令可以测试与另一个主机之间的连接。

$ ping google.com
PING google.com (172.217.13.174) 56(84) bytes of data.
64 bytes from lga25s68-in-f174.1e100.net (172.217.13.174): icmp_seq=1 ttl=54 time=10.0 ms
64 bytes from lga25s68-in-f174.1e100.net (172.217.13.174): icmp_seq=2 ttl=54 time=8.01 ms
...
2. ifconfig

ifconfig命令可以显示网络接口的信息。

$ ifconfig
enp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 00:00:00:00:00:00  txqueuelen 1000  (Ethernet)
        RX packets 2008  bytes 700699 (700.6 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1062  bytes 181086 (181.0 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 17
3. netstat

netstat命令可以显示系统的网络连接情况。

$ netstat -ant
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN
tcp6       0      0 :::80                   :::*                    LISTEN
tcp6       0      0 :::22                   :::*                    LISTEN