分类学习
为了提高学习效率和增加linux命令的记忆,将命令分为九大类,更方便学习和查漏补缺,在之后复习的时候也能有重点。
文件管理
文档编辑
系统管理
磁盘管理
文件传输
网络通信
设备管理
备份压缩
其他命令
扩展:个人知识要点分享
文件管理
-
Is命令-显示目录中文件及其属性信息
-
cp命令-复制文件或目录
-
mkdir命令-创建目录文件
-
mv命令移动或改名文件
-
pwd命令示档前工作目录的路径
-
tar命令压缩和解压缩文件
-
cd命令切换目录
-
chmod命令-改变文件或目录权限
-
ls
- 列出当前目录下的文件和子目录:ls
-
cd
- 切换目录:cd /path/to/directory
-
pwd
- 显示当前工作目录的路径:pwd
-
mkdir
- 创建新目录:mkdir new_directory
-
rm
- 删除文件或目录:rm -r directory
-
cp
- 复制文件或目录:cp file.txt new_location/ cp -r directory/ new_location/
-
mv
- 移动文件或目录:mv file.txt new_location/ mv directory/ new_location/
-
cat
- 查看文件内容:cat file.txt
-
grep
- 在文件中搜索指定的模式:grep "pattern" file.txt
-
find
- 按照特定条件查找文件:find /path/to/search -name "*.txt"
-
tail
- 查看文件末尾的内容:tail file.txt
文档编辑
-
cat命令-在终端设备上显示文件内容
-
echo命令-输出字符串或提取后的变量值
-
rm命令-删除文件或目录
-
grep命令-强大的文本搜索工具
-
tail命令-查看文件尾部内容
-
rmdir命令-删除空目录文件
-
sed命令-批量编辑文本文件
-
vi命令-文本编辑器
cat
命令 - 在终端设备上显示文件内容
cat filename.txt
cat
命令用于显示指定文件的内容。
echo
命令 - 输出字符串或提取后的变量值
echo "Hello, World!"
echo
命令用于输出指定的字符串或变量的值。
rm
命令 - 删除文件或目录
rm file.txt
rm -r directory
rm
命令用于删除指定的文件或目录。使用 -r
选项可以递归删除目录及其内容。
grep
命令 - 强大的文本搜索工具
grep "pattern" file.txt
grep
命令用于在文件中搜索指定的模式。
tail
命令 - 查看文件尾部内容
tail -n 10 file.txt
tail
命令用于查看文件的末尾内容。 -n
选项指定要显示的行数。
rmdir
命令 - 删除空目录文件
rmdir empty_directory
rmdir
命令用于删除空目录。
sed
命令 - 批量编辑文本文件
sed 's/old_string/new_string/g' filename.txt
sed
命令用于批量编辑文本文件,将文件中的指定字符串替换为新的字符串。
vi
命令 - 文本编辑器
vi filename.txt
vi
命令是一个文本编辑器,用于编辑文本文件。
cat命令:语法格式:cat 参数 文件名
例子:查看指定文件的内容(想要显示行号就加上 -n)
[root@linuxcool ~]# cat anaconda-ks.cfg
#version=RHEL8
ignoredisk --only-use=sda
autopart --type=lvm
# Partition clearing information
………………省略部分输出信息………………
注意:
在Linux系统中有很多用于查看文件内容的命令,例如more、tail、head等,每个命令都有各自的特点。cat命令适合查看内容较少的纯文本文件。 对于内容较多的文件,使用cat命令查看后会在屏幕上快速滚屏,用户往往看不清所显示的具体内容,只好按Ctrl+C组合键中断命令执行,所以对于大文件,干脆用more命令显示。
echo命令:输出字符串或提取后的变量值
echo命令的功能是在终端设备上输出指定字符串或变量提取后的值,能够给用户一些简单的提醒信息,亦可以将输出的指定字符串内容同管道符一起传递给后续命令作为标准输入信息进行二次处理,还可以同输出重定向符一起操作,将信息直接写入文件。如需提取变量值,需在变量名称前加入$符号,变量名称一般均为大写形式。
语法格式:echo 参数 字符串或$变量名
输出指定字符串到终端设备界面(默认为电脑屏幕):
[root@linuxcool ~]# echo LinuxCool
LinuxCool
vi命令:文本编辑器
vi命令的功能是用于编辑文本内容,是Linux系统字符界面下最常用的文本编辑工具,能够编辑任何的ASCII格式文件,对内容进行创建、查找、替换、修改、删除、复制、粘贴等操作。编写文件时,无需担心目标文件是否存在,若不存在则会自动在内存中创建,随保存操作输出到硬盘中。
系统管理
- find命令-根据路径和条件搜索指定文件
- rpm命令- RPM软件包管理器
- ps命令-显示进程状态
- startx命令-初始化X-windows系统
- uname命令-显示系统内核信息
- resize2fs命令-同步文件系统容量到内核
- kill命令-杀死进程
- useradd命令-创建并设置用户信息
1find
命令 - 根据路径和条件搜索指定文件
find /path/to/search -name "*.txt"
该命令会在指定路径下递归搜索文件名匹配 *.txt
模式的文件。
2rpm
命令 - RPM软件包管理器
rpm -qa | grep package_name
这个例子使用 rpm
命令来查询已安装的软件包列表,并通过 grep
过滤出特定软件包。
3ps
命令 - 显示进程状态
ps aux | grep process_name
ps aux
用于显示所有进程的详细信息,通过 grep
过滤出特定进程名的信息。
4startx
命令 - 初始化X-windows系统
startx
启动X-windows系统的命令,通常在终端中执行。
5uname
命令 - 显示系统内核信息
uname -a
uname -a
会显示系统的内核版本、主机名等详细信息。
6resize2fs
命令 - 同步文件系统容量到内核
resize2fs /dev/sdX
该命令用于将文件系统的大小同步到底层设备。请替换 /dev/sdX
为实际的设备名称。
7kill
命令 - 杀死进程
kill -9 process_id
该命令用于强制终止指定进程,-9
表示使用强制方式。
8 useradd
命令 - 创建并设置用户信息
sudo useradd -m -s /bin/bash new_user
创建一个新用户,并设置用户的主目录为默认目录,登录shell为bash。
磁盘管理
1. 查看磁盘信息
df
: 显示文件系统的磁盘空间使用情况
示例:df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 20G 10G 8.6G 54% /
du
: 估算文件或目录的磁盘空间使用情况。
bashCopy code
du -h /path/to/directory
示例输出:
4.0K /path/to/directory/subdir
8.0K /path/to/directory
2. 磁盘分区和格式化
-
fdisk
: 分区工具,用于创建、删除和管理磁盘分区。sudo fdisk /dev/sdX
-
mkfs
: 用于格式化文件系统。sudo mkfs -t ext4 /dev/sdX1
3. 挂载和卸载磁盘
-
mount
: 将文件系统挂载到指定的挂载点。sudo mount /dev/sdX1 /mnt/mydisk
-
umount
: 卸载已挂载的文件系统。sudo umount /mnt/mydisk
4. 查看硬盘信息
-
lsblk
: 显示块设备的信息,包括磁盘和分区。lsblk
示例输出:
graphqlCopy codeNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 10G 0 part /
-
fdisk -l
: 列出所有磁盘的详细分区信息。sudo fdisk -l
5. 磁盘修复
-
fsck
: 用于检查和修复文件系统。sudo fsck /dev/sdX1
6. 磁盘空间清理
-
du
和find
: 用于查找和删除大文件或目录。du -h --max-depth=1 / | sort -rh
bashCopy code find / -type f -size +100M -exec rm -rf {} \;
文件传输
1. 本地文件复制
-
cp
: 用于复制文件或目录。bashCopy code cp source_file destination
示例:
bashCopy code cp file.txt /path/to/destination/
-
mv
: 用于移动文件或目录(也可以用于重命名文件)。bashCopy code mv source_file destination
示例:
bashCopy code mv file.txt /path/to/destination/
-
rsync
: 同步文件和目录,支持本地和远程传输。bashCopy code rsync -av source/ destination/
示例:
bashCopy code rsync -av /path/to/source/ /path/to/destination/
2. 远程文件传输
-
scp
: 通过 SSH 安全地复制文件。bashCopy code scp source_file user@remote_host:/path/to/destination/
示例:
bashCopy code scp file.txt user@192.168.1.1:/path/to/destination/
-
sftp
: 通过 SSH 进行交互式文件传输。bashCopy code sftp user@remote_host
在 sftp 中使用
put
命令上传文件。
3. 通过网络传输文件
-
wget
: 从网络下载文件。bashCopy code wget URL
示例:
bashCopy code wget https://example.com/file.txt
-
curl
: 类似于 wget,支持更多协议和功能。bashCopy code curl -O URL
示例:
bashCopy code curl -O https://example.com/file.txt
4. 传输大量数据
-
tar
: 用于归档和解压文件。bashCopy code tar -cvzf archive.tar.gz /path/to/source
示例:
bashCopy code tar -cvzf backup.tar.gz /home/user/documents
5. 其他文件传输工具
-
nc
(netcat): 通过网络传输数据,可以用于文件传输。bashCopy code nc -l -p 1234 > received_file
在接收端使用
nc
,发送端使用nc remote_host 1234 < source_file
。
网络通信
1. IP 地址和网络接口
-
ifconfig
或ip
: 显示网络接口信息。ifconfig
或
ip addr
-
ping
: 发送 ICMP 回显请求以测试主机的可达性。ping example.com
-
traceroute
或tracepath
: 跟踪数据包到目标主机的路由路径。traceroute example.com
或
tracepath example.com
-
netstat
: 显示网络连接、路由表和接口统计信息。netstat -a
-
ss
: 显示套接字统计信息。ss
-
route
: 显示和管理 IP 路由表。route -n
2. 网络诊断
-
nslookup
或dig
: 查询域名系统 (DNS) 信息。nslookup example.com
或
dig example.com
-
host
: 查询主机的 DNS 信息。host example.com
-
arp
: 显示和修改系统 ARP 缓存。arp -a
-
tcpdump
: 捕获和分析网络数据包。sudo tcpdump -i eth0
-
wireshark
: 图形化网络协议分析器。wireshark
3. 网络工具
-
curl
: 用于在命令行下传输数据。curl -O https://example.com/file.txt
-
wget
: 从网络上下载文件。wget https://example.com/file.txt
-
ssh
: 通过安全的 shell 连接到远程主机。ssh user@remote_host
-
scp
: 通过 SSH 安全地复制文件。scp file.txt user@remote_host:/path/to/destination/
-
nc
(netcat): 通过网络传输数据。nc -l -p 1234 > received_file
在接收端使用
nc
,发送端使用nc remote_host 1234 < source_file
。
设备管理
1. 查看硬件信息
-
lshw
: 列出系统中所有硬件设备的详细信息。sudo lshw
-
lsusb
: 列出连接到 USB 总线上的设备。lsusb
-
lspci
: 列出连接到 PCI 总线上的设备。lspci
2. 查看设备信息
-
udevadm
: 用于查看和管理设备信息。udevadm info -a -n /dev/sdX
示例:
udevadm info -a -n /dev/sda
3. 挂载和卸载设备
-
mount
: 将文件系统挂载到指定的挂载点。sudo mount /dev/sdX1 /mnt/mydisk
-
umount
: 卸载已挂载的文件系统。sudo umount /mnt/mydisk
4. 分区和格式化设备
-
fdisk
: 分区工具,用于创建、删除和管理磁盘分区。sudo fdisk /dev/sdX
-
mkfs
: 用于格式化文件系统。sudo mkfs -t ext4 /dev/sdX1
5. 查看挂载点信息
-
df
: 显示文件系统的磁盘空间使用情况,包括挂载点。df -h
6. 查看设备连接状态
-
lsblk
: 显示块设备的信息,包括磁盘和分区。lsblk
示例输出:
graphqlCopy codeNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 10G 0 part /
7. 查看网络接口信息
-
ifconfig
或ip
: 显示网络接口信息。ifconfig
或
ip addr
备份压缩
1. 备份文件和目录
-
cp
: 使用cp
命令可以简单地复制文件和目录。cp -r /path/to/source /path/to/destination
-
rsync
: 用于同步文件和目录,可以在本地和远程之间工作。rsync -av /path/to/source/ /path/to/destination/
-
tar
: 创建归档文件并可选地进行压缩。tar -cvzf backup.tar.gz /path/to/source
2. 压缩和解压缩
-
gzip
: 用于压缩文件。gzip file.txt
-
gunzip
: 解压缩 gzip 压缩文件。gunzip file.txt.gz
-
bzip2
: 用于更高效的压缩。bzip2 file.txt
-
bunzip2
: 解压缩 bzip2 压缩文件。bunzip2 file.txt.bz2
-
xz
: 使用 xz 算法进行压缩。xz file.txt
-
unxz
: 解压缩 xz 压缩文件。unxz file.txt.xz
3. 备份整个文件系统
-
dump
和restore
: 用于备份和还原文件系统。sudo dump -0u -f /path/to/backup.dump /dev/sdX
sudo restore -rf /path/to/backup.dump
4. 使用 dd
命令进行备份
-
dd
: 用于复制和转换文件。sudo dd if=/dev/sdX of=/path/to/backup.img bs=4M
请注意,
dd
命令强大而危险,务必谨慎使用。
5. 使用 find
命令进行定期备份
可以结合 find
命令和其他命令实现定期备份。
find /path/to/source -mtime -1 -exec cp {} /path/to/backup/ \;
上述命令将在最近一天内修改过的文件复制到备份目录中。
其它命令
chmod命令是一个常用的Linux/Unix命令,用于修改文件或目录的权限。它可以通过符号模式或数字模式来设置权限。
chmod [mode] file/directory
mode
:用3位数字表示权限模式,其中每一位表示r(读取权限)、w(写入权限)和x(执行权限),分别对应的值为4、2和1。将这些值相加可以得到所需的权限模式。例如,755表示所有者具有读、写和执行权限,而所属组和其他用户只有读和执行权限。
例子:chmod 755 script.sh # 设置文件的权限为rwxr-xr-x
文件权限由三组三位数表示,分别表示文件所有者、所属组和其他用户的权限
具体解析如下:
- 第一组
rwx
表示文件所有者(Owner)的权限,即读、写和执行权限。 - 第二组
r-x
表示所属组(Group)的权限,即只有读和执行权限,没有写权限。 - 第三组
r-x
表示其他用户(Others)的权限,即只有读和执行权限,没有写权限。
所以,chmod 755 script.sh
命令将文件script.sh
的权限设置为rwxr-xr-x
,即文件所有者具有读、写和执行的权限,所属组和其他用户具有读和执行的权限。
这样设置的权限允许文件所有者具有最高的权限,而所属组和其他用户只能读取和执行该文件,无法修改或删除。
懂了;