Linux常用命令——接上篇
系统信息
- 显示机器的处理器架构:
arch
- 显示正在使用的内核版本:
uname -r
- 显示硬件系统部件(SMBios / DMI):
dmidecode -q
- 罗列一个磁盘的架构特性:
hdparm -i /dev/sda
- 在磁盘上执行测试性读取操作:
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
- 罗列 PCI 设备:
lspci -tv
- 显示 USB 设备:
lsusb -tv
- 显示系统日期:
date
- 显示2007年的日历表:
cal 2007
- 设置日期和时间:
date 041217002007.00
- 将时间修改保存到 BIOS:
clock -w
关机/重启
- 关机:
shutdown -h now
:立即关闭系统。init 0
:立即关闭系统。telinit 0
:立即关闭系统。
- 按预定时间关闭系统:
shutdown -h hours:minutes &
:以指定时间关闭系统。例如,shutdown -h 23:59 &
将在晚上11点关闭系统。
- 取消按预定时间关闭系统:
shutdown -c
:取消先前设定的关闭系统计划。
- 重启:
shutdown -r now
:立即重启系统。reboot
:立即重启系统。
- 注销:
logout
:注销当前用户并退出登录。
文件权限
设置文件权限:
chmod ugo+rwx directory1
该命令可以设置目录“directory1”的所有人(u)、群组(g)以及其他人(o)以读(r)、写(w)和执行(x)的权限。
取消文件权限:
chmod go-rwx directory1
该命令可以删除群组(g)与其他人(o)对目录“directory1”的读写执行权限。
改变文件所有人属性:
chown user1 file1
该命令可以改变文件“file1”的所有人属性为“user1”。
改变目录所有人属性并同时改变目录下所有文件的属性:
chown -R user1 directory1
该命令可以改变目录“directory1”的所有人属性为“user1”,并同时改变该目录下所有文件的属性。
改变文件群组:
chgrp group1 file1
该命令可以改变文件“file1”的群组为“group1”。
改变文件所有人和群组属性:
chown user1:group1 file1
该命令可以改变文件“file1”的所有人和群组属性为“user1:group1”。
查找系统中所有使用了SUID控制的文件:
find / -perm -u+s
该命令可以罗列一个系统中所有使用了SUID控制的文件。
设置一个二进制文件的SUID位:
chmod u+s /bin/file1
该命令可以设置一个二进制文件“/bin/file1”的SUID位,使得运行该文件的用户也被赋予和所有者同样的权限。
禁用一个二进制文件的SUID位:
chmod u-s /bin/file1
该命令可以禁用一个二进制文件“/bin/file1”的SUID位。
设置一个目录的SGID位:
chmod g+s /home/public
该命令可以设置一个目录“/home/public”的SGID位,类似SUID,不过这是针对目录的。
禁用一个目录的SGID位:
chmod g-s /home/public
该命令可以禁用一个目录“/home/public”的SGID位。
设置一个文件的STICK位:
chmod o+t /home/public
该命令可以设置一个文件“/home/public”的STICK位,只允许合法所有人删除文件。
禁用一个目录的STick位:
chmod o-t /home/public
该命令可以禁用一个目录“/home/public”的STick位。
文件的特殊属性
- 设置文件的特殊属性:
chattr +a file1
该命令可以只允许以追加方式读写文件“file1”。
- 取消文件的特殊属性:
chattr -a file1
该命令可以取消文件“file1”的追加属性。
- 设置文件的自动压缩/解压属性:
chattr +c file1
该命令可以允许文件“file1”能被内核自动压缩/解压。
- 设置文件备份忽略属性:
chattr +d file1
该命令可以在进行文件系统备份时,使dump程序忽略文件“file1”。
- 设置文件不可变属性:
chattr +i file1
该命令可以设置文件“file1”为不可变的文件,不能被删除、修改、重命名或者链接。
- 设置文件安全删除属性:
chattr +s file1
该命令可以允许文件“file1”被安全地删除。
- 设置文件即时写入属性:
chattr +S file1
该命令可以一旦应用程序对文件“file1”执行了写操作,使系统立刻把修改的结果写到磁盘。
- 设置文件延迟删除属性:
chattr +u file1
该命令可以允许在以后恢复被删除的文件“file1”。
- 显示文件的特殊属性:
lsattr file1
该命令可以显示文件“file1”的特殊属性。
打包和解压缩
- 解压缩文件:
bunzip2 file1.bz2
该命令可以解压缩名为“file1.bz2”的文件。
- 压缩文件:
bzip2 file1
该命令可以压缩名为“file1”的文件。
- 解压缩文件:
gunzip file1.gz
该命令可以解压缩名为“file1.gz”的文件。
- 压缩文件:
gzip file1
该命令可以压缩名为“file1”的文件。
- 最大程度压缩文件:
gzip -9 file1
该命令可以以最高压缩比压缩名为“file1”的文件。
- 创建RAR压缩包:
rar a file1.rar test_file
该命令可以创建一个名为“file1.rar”的RAR压缩包,并将“test_file”添加到压缩包中。
- 解压RAR压缩包:
unrar x file1.rar
该命令可以解压名为“file1.rar”的RAR压缩包。
- 创建非压缩的tarball:
tar -cvf archive.tar file1
该命令可以创建一个非压缩的tarball,其中“file1”是要添加的文件或目录。
- 创建包含多个文件和目录的压缩包:
tar -cvf archive.tar file1 file2 dir1
该命令可以创建一个包含“file1”、“file2”和“dir1”的压缩包。
- 显示压缩包内容:
tar -tf archive.tar
该命令可以显示压缩包中的内容。
- 解压压缩包:
tar -xvf archive.tar
该命令可以解压压缩包。
- 将压缩包解压到指定目录:
tar -xvf archive.tar -C /tmp
该命令可以将压缩包解压到“/tmp”目录下。
- 创建bzip2格式的压缩包:
tar -cvfj archive.tar.bz2 dir1
该命令可以创建一个bzip2格式的压缩包,其中“dir1”是要添加的目录。
- 解压bzip2格式的压缩包:
tar -jxvf archive.tar.bz2
该命令可以解压bzip2格式的压缩包。
- 创建gzip格式的压缩包:
tar -cvfz archive.tar.gz dir1
该命令可以创建一个gzip格式的压缩包,其中“dir1”是要添加的目录。
- 解压gzip格式的压缩包:
tar -zxvf archive.tar.gz
该命令可以解压gzip格式的压缩包。
- 创建zip格式的压缩包:
zip file1.zip file1
该命令可以创建一个zip格式的压缩包,并将“file1”添加到压缩包中。
- 同时压缩多个文件和目录:
zip -r file1.zip file1 file2 dir1
APT软件工具
- 安装/更新一个 deb 包:
sudo apt-get install package_name
- 从光盘安装/更新一个 deb 包:
sudo apt-cdrom install package_name
- 升级列表中的软件包:
sudo apt-get update
- 升级所有已安装的软件:
sudo apt-get upgrade
- 从系统删除一个 deb 包:
sudo apt-get remove package_name
- 确认依赖的软件仓库正确:
sudo apt-get check
- 从下载的软件包中清理缓存:
sudo apt-get clean
- 搜索包含所要搜索字符串的软件包名称:
apt-cache search searched-package
文件系统分析
- 检查磁盘hda1上的坏磁块:
badblocks -v /dev/hda1
- 修复/检查hda1磁盘上Linux文件系统的完整性:
fsck /dev/hda1
- 修复/检查hda1磁盘上ext2文件系统的完整性:
fsck.ext2 /dev/hda1
- 修复/检查hda1磁盘上ext2文件系统的完整性:
e2fsck /dev/hda1
- 修复/检查hda1磁盘上ext3文件系统的完整性:
e2fsck -j /dev/hda1
- 修复/检查hda1磁盘上fat文件系统的完整性:
fsck.vfat /dev/hda1
- 修复/检查hda1磁盘上dos文件系统的完整性:
fsck.msdos /dev/hda1
- 修复/检查hda1磁盘上dos文件系统的完整性:
dosfsck /dev/hda1
目录文件备份
- 制作一个目录的完整备份:
dump -0aj -f /tmp/home0.bak /home
该命令会在"/home"目录下创建一个完整的备份,并保存到"/tmp/home0.bak"文件中。
- 制作一个目录的交互式备份:
dump -1aj -f /tmp/home0.bak /home
该命令会在"/home"目录下创建一个交互式的备份,并保存到"/tmp/home0.bak"文件中。
- 还原一个交互式备份:
restore -if /tmp/home0.bak
该命令可以还原"/tmp/home0.bak"文件中的交互式备份。
- 同步两个目录:
rsync -rogpav --delete /home /tmp
该命令会将"/home"目录下的文件和目录同步到"/tmp"目录中,并保留原有权限、链接和删除不需要的文件。
- 通过SSH通道同步目录:
rsync -rogpav -e ssh --delete ip_address:/tmp /home
该命令会通过SSH通道将远程主机"/ip_address/tmp"目录下的文件和目录同步到本地"/home"目录中。
- 通过压缩和SSH同步目录:
rsync -az -e ssh --delete ip_addr:/home/public /home/local
该命令会通过压缩和SSH通道将远程主机的"/ip_addr/home/public"目录下的文件和目录同步到本地"/home/local"目录中。
- 通过压缩和SSH同步目录反向操作:
rsync -az -e ssh --delete /home/local ip_addr:/home/public
该命令会通过压缩和SSH通道将本地"/home/local"目录下的文件和目录同步到远程主机的"/ip_addr/home/public"目录中。
- 在远程主机上备份本地磁盘:
dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz'
该命令会将本地磁盘"/dev/hda"的内容备份到远程主机的"/ip_addr/hda.gz"文件中。
- 备份磁盘内容到一个文件:
dd if=/dev/sda of=/tmp/file1
该命令会将磁盘"/dev/sda"的内容备份到"/tmp/file1"文件中。
- 交互式备份一个目录:
tar -Puf backup.tar /home/user
该命令会对"/home/user"目录进行交互式备份,并保存到"/backup.tar"文件中。
- 通过SSH复制一个目录内容:
( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr 'cd /home/share/ && tar x -p'
该命令会将"/tmp/local"目录下的内容打包并通过SSH通道传输到远程主机的"/home/share"目录中。
- 通过SSH复制一个本地目录到远程主机:
( tar c /home ) | ssh -C user@ip_addr 'cd /home/backup-home && tar x -p'
标签:文件,file1,tar,常用命令,命令,Linux,home,目录
From: https://blog.51cto.com/u_16206331/6959697