$号后面就是命令的例子,点号后面就是输入命令的linux给出的反馈。
文件和目录操作
ls: 列出目录内容
- $ ls
- Documents Downloads Music Pictures Videos
列出当前目录下的所有文件和目录。
cd: 更改工作目录
- $ cd Documents/
切换到Documents目录。
pwd: 显示当前工作目录
- $ pwd
- /home/user/Documents
显示当前所在目录的完整路径。
mkdir: 创建新目录
- $ mkdir new_folder
在当前目录下创建名为new_folder的目录。
rmdir: 删除空目录
- $ rmdir new_folder
删除空的new_folder目录。
rm: 删除文件
- $ rm file.txt
删除当前目录下的file.txt文件。
cp: 复制文件
- $ cp file.txt /home/user/Downloads/
将file.txt复制到Downloads目录。
mv: 移动文件并重命名
- $ mv file.txt file_new.txt
将file.txt重命名为file_new.txt。
touch: 创建空文件或更新文件时间戳
- $ touch newfile.txt
创建一个名为newfile.txt的空文件。
cat: 显示文件内容
- $ cat file.txt
- Hello, this is a test file.
输出file.txt的内容。
more: 分页显示文件内容
- $ more large_file.txt
- Press space to continue
逐页显示large_file.txt的内容,按空格键翻页。
head: 查看文件前几行
- $ head -n 3 file.txt
- Hello, this is a test file.
- This is the second line.
- This is the third line.
显示file.txt的前3行。
tail: 查看文件后几行
- $ tail -n 3 file.txt
- This is the last line.
- This is the second to last line.
- This is the third to last line.
显示file.txt的最后3行。
文本处理
grep: 在文件中搜索文本
- $ grep "test" file.txt
- Hello, this is a test file.
在file.txt中搜索包含test的行。
find: 在目录树中搜索文件
- $ find /home/user -name "*.txt"
- /home/user/Documents/file.txt
- /home/user/Downloads/another_file.txt
在用户家目录下查找所有.txt文件。
diff: 比较文件差异
- $ diff file1.txt file2.txt
- 2c2
- < This line is in file1.txt
- ---
- > This line is in file2.txt
显示file1.txt和file2.txt的差异。
系统信息查看
uname: 显示系统信息
- $ uname -a
- Linux mymachine 4.4.0-31-generic #50-Ubuntu SMP Wed Jul 13 00:07:12 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
显示系统内核版本等信息。
df: 查看磁盘使用情况
- $ df -h
- Filesystem Size Used Avail Use% Mounted on
- /dev/sda1 100G 40G 60G 40% /
- tmpfs 16G 0 16G 0% /run
显示磁盘分区的使用状态。
free: 查看内存使用情况
- $ free -h
- total used free shared buff/cache available
- Mem: 16G 4G 6G 512K 5G 12G
- Swap: 511M 0B 511M
以人类可读格式显示总内存、已用内存、可用内存等。
top: 实时查看系统运行状态
- $ top
动态显示系统中各进程的资源占用状况。
ps: 显示当前运行的进程
- $ ps aux | grep nginx
- user 1234 0.0 0.1 111111 22222 ? Ss 09:18 0:00 nginx: master process
- user 1235 0.0 0.2 111111 33333 ? S 09:18 0:00 nginx: worker process
显示与nginx相关的进程信息。
网络管理
ping
- $ ping www.google.com
- PING www.google.com (172.217.16.238): 56 data bytes
- 64 bytes from 172.217.16.238: icmp_seq=0 ttl=115 time=37.4 ms
- ping 命令用于检查与指定主机的网络连接,通过发送ICMP回显请求并接收响应来测试网络的可达性。
ifconfig 或 ip
- $ ifconfig eth0
- eth0 Link encap:Ethernet HWaddr 00:11:22:33:44:55
- inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
- ifconfig 命令用于配置和显示网络接口的信息,而 ip 命令是一个更现代的网络配置工具,提供了更多的网络管理功能。
netstat 和 ss
- $ netstat -tuln
- Active Internet connections (only servers)
- 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:25 0.0.0.0:* LISTEN
- netstat 命令显示网络连接、路由表、接口统计等信息,而 ss 命令是 netstat 的现代替代品,提供了更快的性能和更丰富的信息。
ssh
- $ ssh user@remotehost
- ssh 命令用于通过安全的SSH协议连接到远程主机,可以进行远程命令执行、文件传输等操作。
scp
- $ scp localfile user@remotehost:/remote/directory
- scp 命令用于通过SSH协议安全地复制文件或目录到远程主机。
wget
- $ wget http://www.example.com/file
- wget 命令用于从网络上下载文件,支持递归下载和多种协议。
curl
- $ curl -O http://www.example.com/file
- curl 命令是一个多功能的工具,用于传输数据,支持多种协议,可以用于文件下载、上传、发送HTTP请求等。
用户和组管理
useradd、userdel、usermod
- $ useradd newuser
- useradd 命令用于添加新用户,userdel 用于删除用户,usermod 用于修改用户账户的信息。
groupadd、groupdel、groupmod
- $ groupadd newgroup
- groupadd 命令用于添加新用户组,groupdel 用于删除用户组,groupmod 用于修改用户组的属性。
进程管理
kill、pkill、killall
- $ kill 1234
- kill 命令用于发送信号给进程以终止它,pkill 和 killall 命令可以根据进程名称发送信号来终止进程。
磁盘管理
fdisk、mkfs
- $ fdisk /dev/sdb
- fdisk 命令用于对磁盘分区进行管理,mkfs 命令用于在磁盘分区上创建文件系统。
mount、umount
- $ mount /dev/sda1 /mnt
- mount 命令用于将文件系统挂载到目录上,umount 命令用于卸载文件系统。
软件包管理(Red Hat系)
yum 和 rpm
- $ sudo yum install package_name
- yum 是Red Hat系发行版的软件包管理器,用于安装、更新、删除和管理软件包,rpm 是底层的包管理工具,用于安装、卸载和查询RPM包的信息。
其他常用命令
man
- $ man ls
- man 命令用于查看命令的手册页,提供了命令的详细说明和使用方法。
history
- $ history
- history 命令显示用户之前输入的命令历史。
clear 或 Ctrl+L
- $ clear
- clear 命令用于清除终端屏幕上的内容,Ctrl+L 是清除屏幕的快捷键。
shutdown、reboot
- $ sudo shutdown now
- shutdown 命令用于关闭系统,reboot 命令用于重启系统。
以上命令和示例展示了Linux系统中网络管理、用户和组管理、进程管理、磁盘管理、软件包管理以及其他常用命令的基本使用方法。掌握这些命令对于有效管理和维护Linux系统至关重要。