Linux 命令手册
- Linux 命令手册
- 1. 基本命令
- 2. 关机命令
- 3. 文件和目录管理
- 4. 文件搜索
- 5. 文件系统挂载
- 6. 磁盘空间管理
- 7. 用户和群组管理
- 8. 文件权限设置
- 9. 文件特殊属性
- 10. 打包和压缩文件
- 11. RPM 包管理
- 12. YUM 软件包升级器 (Fedora, RedHat及类似系统)
- 13. DEB 包管理 (Debian, Ubuntu 及类似系统)
- APT 工具 (Debian, Ubuntu 及类似系统)
- 14. 查看文件内容
- 15. 文本处理
- 16. 字符设置和文件格式转换
- 17. 文件系统分析
- 18. 初始化文件系统
- 19. SWAP 文件系统
- 20. 备份
- 21. 光盘操作
- 22. 网络配置
- 23. 列出目录内容
- 24. 查看文件类型
- 25. 文件和目录操作
- 文件复制
- 文件时间戳修改
- 文件移动与重命名
- 文件删除
- 目录创建与删除
- 链接创建
- 26. 系统常用命令
- 时间与日历
- 输出与查看命令
- 硬件信息
- 归档与压缩
- 文件查找
- 其他有用命令
Linux 命令手册
如需看原文请移步至:https://blog.csdn.net/l1028386804/article/details/117917710
本文只是加入目录方便查找使用
1. 基本命令
-
显示机器信息
- 显示机器的处理器架构:
uname -m
或arch
- 显示正在使用的内核版本:
uname -r
- 显示硬件系统部件 (SMBIOS / DMI):
dmidecode -q
- 罗列一个磁盘的架构特性:
hdparm -i /dev/hda
- 在磁盘上执行测试性读取操作:
hdparm -tT /dev/sda
- 显示机器的处理器架构:
-
显示系统信息
- 显示CPU info的信息:
cat /proc/cpuinfo
- 显示中断:
cat /proc/interrupts
- 校验内存使用:
cat /proc/meminfo
- 显示哪些swap被使用:
cat /proc/swaps
- 显示内核的版本:
cat /proc/version
- 显示网络适配器及统计:
cat /proc/net/dev
- 显示已加载的文件系统:
cat /proc/mounts
- 显示CPU info的信息:
-
罗列设备
- 罗列 PCI 设备:
lspci -tv
- 显示 USB 设备:
lsusb -tv
- 罗列 PCI 设备:
-
时间和日期
- 显示系统日期:
date
- 显示2007年的日历表:
cal 2007
- 设置日期和时间:
date MMDDhhmmYYYY.ss
- 将时间修改保存到 BIOS:
clock -w
- 显示系统日期:
2. 关机命令
-
关闭系统:
shutdown -h now
init 0
telinit 0
- 按预定时间关闭系统:
shutdown -h hours:minutes &
- 取消按预定时间关闭系统:
shutdown -c
-
重启系统:
shutdown -r now
reboot
-
注销:
logout
3. 文件和目录管理
-
目录导航
- 进入 ‘/home’ 目录:
cd /home
- 返回上一级目录:
cd ..
- 返回上次所在的目录:
cd -
- 进入 ‘/home’ 目录:
-
查看路径
- 显示工作路径:
pwd
- 显示工作路径:
-
文件和目录操作
- 查看目录中的文件:
ls
,ls -F
,ls -l
,ls -a
- 创建目录:
mkdir dir1
- 删除文件或目录:
rm -f file1
,rmdir dir1
,rm -rf dir1
- 移动/重命名目录:
mv dir1 new_dir
- 复制文件或目录:
cp file1 file2
,cp -a dir1 dir2
- 创建软链接或物理链接:
ln -s file1 lnk1
,ln file1 lnk1
- 查看目录中的文件:
-
文件属性修改
- 修改文件时间戳:
touch -t 0712250000 file1
- 输出文件的MIME类型:
file file1
- 列出已知编码:
iconv -l
- 文件编码转换:
iconv -f fromEncoding -t toEncoding inputFile > outputFile
- 批量调整图片大小:
find . -maxdepth 1 -name "*.jpg" -print -exec convert "{}" -resize 80x60 "thumbs/{}" \;
- 修改文件时间戳:
4. 文件搜索
-
搜索文件和目录:
- 从根文件系统开始:
find / -name file1
- 搜索特定用户的文件:
find / -user user1
- 搜索特定类型的文件:
find /home/user1 -name "*.bin"
- 搜索未使用过的文件:
find /usr/bin -type f -atime +100
- 搜索新创建或修改的文件:
find /usr/bin -type f -mtime -10
- 定义权限:
find / -name "*.rpm" -exec chmod 755 '{}' \;
- 忽略可移动设备:
find / -xdev -name "*.rpm"
- 从根文件系统开始:
-
快速查找:
- 寻找文件:
locate "*.ps"
(先运行updatedb
) - 显示二进制文件位置:
whereis halt
- 显示可执行文件路径:
which halt
- 寻找文件:
5. 文件系统挂载
- 挂载和卸载:
- 挂载分区:
mount /dev/hda2 /mnt/hda2
- 卸载分区:
umount /dev/hda2
- 强制卸载:
fuser -km /mnt/hda2
- 不写入/etc/mtab卸载:
umount -n /mnt/hda2
- 挂载软盘、光驱等:
mount /dev/fd0 /mnt/floppy
,mount /dev/cdrom /mnt/cdrom
- 挂载ISO镜像文件:
mount -o loop file.iso /mnt/cdrom
- 挂载Windows文件系统:
mount -t vfat /dev/hda5 /mnt/hda5
- 挂载USB设备:
mount /dev/sda1 /mnt/usbdisk
- 挂载Windows网络共享:
mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share
- 挂载分区:
6. 磁盘空间管理
- 显示已挂载的分区列表:
df -h
- 以尺寸大小排列文件和目录:
ls -lSr |more
- 估算目录使用的磁盘空间:
du -sh dir1
- 显示文件和目录的大小排序:
du -sk * | sort -rn
- 显示已安装包使用的空间:
- RPM包:
rpm -q -a --qf '%10{SIZE}t%{NAME}n' | sort -k1,1n
- DEB包:
dpkg-query -W -f='${Installed-Size;10}t${Package}n' | sort -k1,1n
- RPM包:
7. 用户和群组管理
- 创建、删除、重命名用户组:
groupadd group_name
,groupdel group_name
,groupmod -n new_group_name old_group_name
- 创建、删除、修改用户:
useradd ...
,userdel -r user1
,usermod ...
- 修改密码:
passwd
,passwd user1
- 设置口令失效期限:
chage -E YYYY-MM-DD user1
- 检查用户和群组:
pwck
,grpck
- 登陆新的群组:
newgrp group_name
8. 文件权限设置
- 显示权限:
ls -lh
- 设置权限:
chmod ugo+rwx directory1
,chmod go-rwx directory1
,chmod u+s /bin/file1
, … - 更改文件所有者:
chown user1 file1
,chown -R user1 directory1
- 更改文件群组:
chgrp group1 file1
,chown user1:group1 file1
9. 文件特殊属性
- 设置文件属性:
chattr +a file1
,chattr +c file1
, … - 显示特殊属性:
lsattr
10. 打包和压缩文件
- 解压和压缩:
bunzip2 file1.bz2
,bzip2 file1
,gunzip file1.gz
,gzip file1
, … - 创建和解压rar包:
rar a file1.rar test_file
,rar x file1.rar
, … - 创建和解压tarball:
tar -cvf archive.tar file1
,tar -xvf archive.tar
, … - 创建和解压bz2格式压缩包:
tar -cvfj archive.tar.bz2 dir1
,tar -xvfj archive.tar.bz2
- 创建和解压gz格式压缩包:
tar -cvfz archive.tar.gz dir1
,tar -xvfz archive.tar.gz
- 创建和解压zip格式压缩包:
zip file1.zip file1
,unzip file1.zip
11. RPM 包管理
- 安装、更新、删除rpm包:
rpm -ivh package.rpm
,rpm -U package.rpm
,rpm -e package_name.rpm
- 查询已安装的rpm包:
rpm -qa
- 获取rpm包信息:
rpm -qi package_name
- 显示rpm包提供的文件列表:
rpm -ql package_name
- 显示配置文件列表:
rpm -qc package_name
- 确认文件由哪个rpm包提供:
rpm -qf /etc/httpd/conf/httpd.conf
- 导入公钥数字证书:
rpm --import /media/cdrom/RPM-GPG-KEY
- 确认rpm包完整性:
rpm --checksig package.rpm
- 检查已安装的rpm包:
rpm -Va
12. YUM 软件包升级器 (Fedora, RedHat及类似系统)
- 安装RPM包:
yum install package_name
- 使用本地文件安装并解决依赖关系:
yum localinstall package_name.rpm
- 更新所有已安装的RPM包:
yum update
- 更新特定的RPM包:
yum update package_name
- 删除RPM包:
yum remove package_name
- 列出当前系统中安装的所有包:
yum list
- 在RPM仓库中搜索软件包:
yum search package_name
- 清理缓存删除下载的包:
yum clean packages
- 删除所有头文件:
yum clean headers
- 删除所有缓存的包和头文件:
yum clean all
13. DEB 包管理 (Debian, Ubuntu 及类似系统)
- 安装/更新一个deb包:
dpkg -i package.deb
- 删除一个deb包:
dpkg -r package_name
- 显示系统中所有已经安装的deb包:
dpkg -l
- 显示包含特定字符串的deb包:
dpkg -l | grep httpd
- 获取已安装包的信息:
dpkg -s package_name
- 显示已安装deb包所提供的文件列表:
dpkg -L package_name
- 显示尚未安装的包所提供的文件列表:
dpkg --contents package.deb
- 确认文件由哪个deb包提供:
dpkg -S /bin/ping
APT 工具 (Debian, Ubuntu 及类似系统)
- 安装/更新一个deb包:
apt-get install package_name
- 从光盘安装/更新deb包:
apt-cdrom install package_name
- 升级列表中的软件包:
apt-get update
- 升级所有已安装的软件:
apt-get upgrade
- 删除一个deb包:
apt-get remove package_name
- 确认依赖的软件仓库正确:
apt-get check
- 从下载的软件包中清理缓存:
apt-get clean
- 搜索包含特定字符串的软件包名称:
apt-cache search searched-package
14. 查看文件内容
- 正向查看文件内容:
cat file1
- 反向查看文件内容:
tac file1
- 查看长文件的内容:
more file1
- 类似
more
但支持反向操作:less file1
- 查看文件前几行:
head -n file1
- 查看文件最后几行:
tail -n file1
- 实时查看文件新增内容:
tail -f /var/log/messages
15. 文本处理
- 管道、标准输入输出文本操作:
cat file1 | command > result.txt
- 追加文本到已有文件:
cat file1 | command >> result.txt
- 文件中查找关键词:
grep pattern file
- 查找以特定字符开始的行:
grep '^pattern' file
- 查找包含数字的行:
grep '[0-9]' file
- 目录中递归查找字符串:
grep -R string directory
- 替换文本:
sed 's/old/new/g' file
- 删除空白行:
sed '/^$/d' file
- 删除注释和空白行:
sed '/ *#/d; /^$/d' file
- 删除末尾空白字符:
sed -e 's/ *$//' file
- 删除特定单词:
sed -e 's/string//g' file
- 显示特定行数内容:
sed -n 'start,endp' file
- 显示某一行:
sed -n 'linep' file
- 标示文件的行数:
cat -n file
- 删除偶数行:
awk 'NR%2==1' file
- 查看一行的第一栏:
echo a b c | awk '{print $1}'
- 查看一行的第一和第三栏:
echo a b c | awk '{print $1,$3}'
- 合并两个文件或两栏的内容:
paste file1 file2
- 使用分隔符合并文件:
paste -d '+' file1 file2
- 排序文件内容:
sort file1 file2
- 取出两个文件的并集:
sort file1 file2 | uniq
- 删除交集保留其他行:
sort file1 file2 | uniq -u
- 取出两个文件的交集:
sort file1 file2 | uniq -d
- 比较两个文件只删除第一个文件内容:
comm -1 file1 file2
- 比较两个文件只删除第二个文件内容:
comm -2 file1 file2
- 比较两个文件只删除共有的部分:
comm -3 file1 file2
16. 字符设置和文件格式转换
- MSDOS转UNIX:
dos2unix filedos.txt fileunix.txt
- UNIX转MSDOS:
unix2dos fileunix.txt filedos.txt
- 文本文件转HTML:
recode ..HTML < page.txt > page.html
- 显示所有允许的转换格式:
recode -l | more
17. 文件系统分析
- 检查磁盘上的坏磁块:
badblocks -v /dev/hda1
- 修复/检查文件系统的完整性:
fsck /dev/hda1
,fsck.ext2 /dev/hda1
,e2fsck /dev/hda1
,e2fsck -j /dev/hda1
,fsck.ext3 /dev/hda1
,fsck.vfat /dev/hda1
,fsck.msdos /dev/hda1
,dosfsck /dev/hda1
18. 初始化文件系统
- 创建文件系统:
mkfs /dev/hda1
- 创建ext2文件系统:
mke2fs /dev/hda1
- 创建ext3文件系统:
mke2fs -j /dev/hda1
- 创建FAT32文件系统:
mkfs -t vfat 32 -F /dev/hda1
- 格式化软盘:
fdformat -n /dev/fd0
- 创建swap文件系统:
mkswap /dev/hda3
19. SWAP 文件系统
- 创建swap文件系统:
mkswap /dev/hda3
- 启用swap文件系统:
swapon /dev/hda3
- 同时启用多个swap分区:
swapon /dev/hda2 /dev/hdb3
20. 备份
- 完整备份目录:
dump -0aj -f /tmp/home0.bak /home
- 交互式备份目录:
dump -1aj -f /tmp/home0.bak /home
- 还原交互式备份:
restore -if /tmp/home0.bak
- 同步两边的目录:
rsync -rogpav --delete /home /tmp
- 通过SSH通道同步目录:
rsync -rogpav -e ssh --delete /home ip_address:/tmp
- 通过SSH和压缩同步远程目录到本地:
rsync -az -e ssh --delete ip_addr:/home/public /home/local
- 通过SSH和压缩同步本地目录到远程:
rsync -az -e ssh --delete /home/local ip_addr:/home/public
- 通过SSH在远程主机上执行一次备份本地磁盘的操作:
dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz'
- 备份磁盘内容到文件:
dd if=/dev/sda of=/tmp/file1
- 交互式备份目录:
tar -Puf backup.tar /home/user
- 通过SSH复制目录内容到远程目录:
( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr 'cd /home/share/ && tar x -p'
- 通过SSH复制本地目录到远程目录:
( tar c /home ) | ssh -C user@ip_addr 'cd /home/backup-home && tar x -p'
- 本地复制目录并保留原有权限及链接:
tar cf - . | (cd /tmp/backup ; tar xf -)
- 查找并复制特定后缀文件到另一目录:
find /home/user1 -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parents
- 查找所有.log结尾文件并打包压缩:
find /var/log -name '*.log' | tar cv --files-from=- | bzip2 > log.tar.bz2
- 复制MBR内容到软盘:
dd if=/dev/hda of=/dev/fd0 bs=512 count=1
- 从软盘恢复MBR内容:
dd if=/dev/fd0 of=/dev/hda bs=512 count=1
21. 光盘操作
- 清空可复写光盘:
cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force
- 创建光盘ISO镜像文件:
mkisofs /dev/cdrom > cd.iso
- 创建压缩的光盘ISO镜像文件:
mkisofs /dev/cdrom | gzip > cd_iso.gz
- 创建目录ISO镜像文件:
mkisofs -J -allow-leading-dots -R -V "Label CD" -iso-level 4 -o ./cd.iso data_cd
- 刻录ISO镜像文件:
cdrecord -v dev=/dev/cdrom cd.iso
- 刻录压缩的ISO镜像文件:
gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom -
- 挂载ISO镜像文件:
mount -o loop cd.iso /mnt/iso
- 从CD光盘转录音轨到wav文件:
cd-paranoia -B
- 从CD光盘转录音轨到wav文件(参数-3):
cd-paranoia -- "-3"
- 扫描总线识别SCSI通道:
cdrecord --scanbus
- 校验设备MD5SUM编码:
dd if=/dev/hdc | md5sum
22. 网络配置
- 显示网卡配置:
ifconfig eth0
- 启用网络设备:
ifup eth0
- 禁用网络设备:
ifdown eth0
- 控制IP地址:
ifconfig eth0 192.168.1.1 netmask 255.255.255.0
- 设置混杂模式:
ifconfig eth0 promisc
- DHCP模式启用网卡:
dhclient eth0
- 显示路由表:
route -n
- 配置默认网关:
route add -net 0/0 gw IP_Gateway
- 配置静态路由:
route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1
- 移除静态路由:
route del 0/0 gw IP_gateway
- 激活IP路由:
echo "1" > /proc/sys/net/ipv4/ip_forward
- 显示主机名:
hostname
- 解析主机名到IP地址:
host www.example.com
,nslookup www.example.com
- 显示所有接口链路状态:
ip link show
- 显示网卡链路状态:
mii-tool eth0
,ethtool eth0
- 显示所有活动网络连接及其PID:
netstat -tup
- 显示所有监听服务及其PID:
netstat -tupl
- 显示HTTP流量:
tcpdump tcp port 80
- 显示无线网络:
iwlist scan
- 显示无线网卡配置:
iwconfig eth1
- 查询Whois数据库:
whois www.example.com
23. 列出目录内容
- 显示所有文件(包括隐藏文件):
ls -a
- 显示详细信息:
ls -l
- 递归显示子目录结构:
ls -R
- 显示目录和链接信息:
ls -ld
- 搜索历史命令:
ctrl+r
- 显示当前目录:
pwd
24. 查看文件类型
- 使用
file
命令查看文件的类型:file filename
25. 文件和目录操作
文件复制
- 复制文件或目录:
cp source destination
- 递归复制整个目录树:
cp -r source_directory destination_directory
- 显示详细信息:
cp -v source destination
文件时间戳修改
- 创建空文件或更新文件的时间戳:
touch filename
- 修改文件时间为特定日期:
touch -d "20040210" test
文件移动与重命名
- 移动或重命名文件:
mv source destination
- 将文件移至上层目录:
mv a.txt ../
- 重命名文件:
mv a.txt b.txt
- 移动目录:
mv dir2 ../
文件删除
- 删除文件:
rm filename
- 强制删除文件:
rm -f *.txt
- 交互式删除文件:
rm -i *
- 递归删除目录及内容:
rm -r directory
- 强制且不询问地递归删除:
rm -rf directory
目录创建与删除
- 创建新目录:
mkdir directory_name
- 连续创建多级目录:
mkdir -p dir1/dir2
- 删除空目录:
rmdir directory_name
- 递归删除目录及其子目录:
rmdir -p dir1/dir2
链接创建
- 创建软链接:
ln -s /source/path link_name
- 创建硬链接:
ln /source/file hard_link
26. 系统常用命令
时间与日历
- 查看或设置系统时间:
date
- 设置系统时间为指定格式:
date +%Y-%m-%d
- 设置当前系统时间:
date -s "new_time"
- 查看硬件时钟时间:
hwclock
或clock
- 查看日历:
cal
- 查看指定月份的日历:
cal 4 2004
- 查看整年日历:
cal -y 2003
- 查看系统运行时间:
uptime
输出与查看命令
- 显示文本:
echo "text"
- 追加文本到文件末尾:
echo "text" >> file.txt
- 显示文件内容:
cat file.txt
- 合并文件内容:
cat file1.txt file2.txt > combined.txt
- 显示文件头部内容:
head -n number file.txt
- 显示文件尾部内容:
tail -n number file.txt
- 实时追踪文件更新:
tail -f /var/log/messages
- 分页显示文件内容(仅向下翻页):
more file.txt
- 分页显示文件内容(支持上下翻页):
less file.txt
硬件信息
- 查看PCI设备:
lspci
- 查看USB设备:
lsusb
- 查看加载的模块:
lsmod
归档与压缩
- 压缩文件为zip:
zip archive.zip file
- 解压zip文件:
unzip archive.zip
- 使用gzip压缩文件:
gzip file
- 打包文件为tar归档:
tar -cvf archive.tar files...
- 解包tar归档:
tar -xvf archive.tar
- 打包并压缩为gzipped tarball:
tar -czvf archive.tar.gz files...
- 查看tar归档内容:
tar -tf archive.tar
- 解压gzipped tarball:
tar -xzvf archive.tar.gz
文件查找
- 快速查找文件或目录:
locate keyword
- 更新查找数据库:
updatedb
- 搜索文件或目录:
find path [expression]
- 查找根目录下所有.conf文件:
find / -name "*.conf"
- 查找权限为777的文件:
find / -perm 777
- 查找并执行命令:
find . -name "a*" -exec ls -l {} \;
其他有用命令
- 终止当前命令:
Ctrl + C
- 查看登录用户:
who
或w
- 显示系统诊断信息:
dmesg
- 查看文件系统占用情况:
df
- 查看目录使用空间:
du [options] directory
- 查看内存使用情况:
free