linux常用命令大全(一)

本文汇总了一系列常用的Linux命令,覆盖了系统信息查询、文件管理、用户管理等多个方面,旨在帮助系统管理员和开发者更高效地管理和操作Linux系统。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

系统信息

arch                   //显示机器的处理器架构(1)

uname -m               //显示机器的处理器架构(2)

uname -r               //显示正在使用的内核版本

dmidecode -q           //显示硬件系统部件 - (SMBIOS / DMI)

hdparm -i /dev/hda     //罗列一个磁盘的架构特性

hdparm -tT /dev/sda    //在磁盘上执行测试性读取操作

cat /proc/cpuinfo      //显示CPU info的信息

cat /proc/interrupts   //显示中断

cat /proc/meminfo      //校验内存使用

cat /proc/swaps        //显示哪些swap被使用

cat /proc/version      //显示内核的版本

cat /proc/net/dev      //显示网络适配器及统计

cat /proc/mounts       //显示已加载的文件系统

lspci -tv              //罗列 PCI 设备

lsusb -tv              //显示 USB 设备

date                    //显示系统日期

cal 2007               //显示2007年的日历表

date041217002007.00   //设置日期和时间 月日时分年.

clock -w               //将时间修改保存到 BIOS

 

关机 (系统的关机、重启以及登出 )

shutdown -h now        //关闭系统(1)

init 0                 //关闭系统(2)

telinit 0              //关闭系统(3)

shutdown -h hours:minutes &    //按预定时间关闭系统

shutdown -c            //取消按预定时间关闭系统

shutdown -r now        //重启(1)

reboot                 //重启(2)

init 6                 //重启(3)

logout                 //注销

 

文件和目录

cd /home       //进入 '/ home' 目录'

cd ..          //返回上一级目录

cd ../..       //返回上两级目录

cd             //进入个人的主目录

cd ~user1      //进入个人的主目录

cd -           //返回上次所在的目录

pwd            //显示工作路径

ls             //查看目录中的文件

ls -F          //查看目录中的文件

ls -l          //显示文件和目录的详细资料

ls -a          //显示隐藏文件

ls *[0-9]*     //显示包含数字的文件名和目录名

tree           //显示文件和目录由根目录开始的树形结构

mkdirdir1     //创建一个叫做 'dir1' 的目录'

mkdirdir1 dir2//同时创建两个目录

mkdir-p /tmp/dir1/dir2//创建一个目录树

rm -f file1    //删除一个叫做 'file1' 的文件'

rmdirdir1     //删除一个叫做 'dir1' 的目录'

rm -rf dir1    //删除一个叫做 'dir1' 的目录并同时删除其内容

rm -rf dir1 dir2   //同时删除两个目录及它们的内容

mv dir1 new_dir    //重命名/移动 一个目录

cp file1 file2     //复制一个文件

cp dir/* .         //复制一个目录下的所有文件到当前工作目录

cp -a /tmp/dir1 .  //复制一个目录到当前工作目录

cp -a dir1 dir2    //复制一个目录

ln -s file1 lnk1   //创建一个指向文件或目录的软链接

ln file1 lnk1      //创建一个指向文件或目录的物理链接

touch -t 0712250000 file1  //修改一个文件或目录的时间戳 - (YYMMDDhhmm)

file file1                 //outputs the mime type of the file as text

iconv -l           //列出已知的编码

iconv -f fromEncoding -t toEncoding inputFile > outputFile creates anewfrom the given input file by assuming it is encoded in fromEncodingandconverting it to toEncoding.

find . -maxdepth 1 -name *.jpg -print-execconvert"{}"-resize 80x60"thumbs/{}"\; batch resize files in the current directoryandsend them to a thumbnails directory (requires convert from Imagemagick)

 

文件搜索

find / -name file1     //从 '/' 开始进入根文件系统搜索文件和目录

find / -user user1     //搜索属于用户 'user1' 的文件和目录

find /home/user1 -name \*.bin      //在目录 '/ home/user1' 中搜索带有'.bin' 结尾的文件

find /usr/bin -type f -atime +100  //搜索在过去100天内未被使用过的执行文件

find /usr/bin -type f -mtime -10   //搜索在10天内被创建或者修改过的文件

find / -name \*.rpm -execchmod755'{}'\;    //搜索以 '.rpm' 结尾的文件并定义其权限

find / -xdev -name \*.rpm          //搜索以 '.rpm' 结尾的文件,忽略光驱、捷盘等可移动设备

locate \*.ps                       //寻找以 '.ps' 结尾的文件 先运行 'updatedb' 命令

whereis halt           //显示一个二进制文件、源码或man的位置

which halt             //显示一个二进制文件或可执行文件的完整路径

 

挂载一个文件系统

mount /dev/hda2 /mnt/hda2  //挂载一个叫做hda2的盘 确定目录 '/ mnt/hda2' 已经存在

umount /dev/hda2           //卸载一个叫做hda2的盘 先从挂载点 '/ mnt/hda2' 退出

fuser -km /mnt/hda2        //当设备繁忙时强制卸载

umount -n /mnt/hda2        //运行卸载操作而不写入 /etc/mtab 文件当文件为只读或当磁盘写满时非常有用

mount /dev/fd0 /mnt/floppy         //挂载一个软盘

mount /dev/cdrom /mnt/cdrom        //挂载一个cdromdvdrom

mount /dev/hdc /mnt/cdrecorder     //挂载一个cdrwdvdrom

mount /dev/hdb /mnt/cdrecorder     //挂载一个cdrwdvdrom

mount -o loop file.iso /mnt/cdrom  //挂载一个文件或ISO镜像文件

mount -t vfat /dev/hda5 /mnt/hda5  //挂载一个Windows FAT32文件系统

mount /dev/sda1 /mnt/usbdisk       //挂载一个usb 捷盘或闪存设备

mount -t smbfs -o username=user,password=pass//WinClient/share /mnt/share 挂载一个windows网络共享

 

磁盘空间

df -h          //显示已经挂载的分区列表

ls -lSr |more  //以尺寸大小排列文件和目录

du -sh dir1    //估算目录 'dir1' 已经使用的磁盘空间'

du -sk * | sort -rn    //以容量大小为依据依次显示文件和目录的大小

rpm -q -a --qf'%10{SIZE}t%{NAME}n'| sort -k1,1n  //以大小为依据依次显示已安装的rpm包所使用的空间 (fedora, redhat类系统)

dpkg-query -W -f='${Installed-Size;10}t${Package}n'| sort -k1,1n  //以大小为依据显示已安装的deb包所使用的空间 (ubuntu, debian类系统)

 

用户和群组

groupadd group_name        //创建一个新用户组

groupdel group_name        //删除一个用户组

groupmod -n new_group_name old_group_name      //重命名一个用户组

useradd -c"Name Surname "-g admin -d /home/user1 -s /bin/bash user1  //创建一个属于 "admin" 用户组的用户

useradd user1              //创建一个新用户

userdel -r user1           //删除一个用户( '-r' 排除主目录)

usermod -c"User FTP"-g system -d /ftp/user1 -s /bin/nologin user1    //修改用户属性

passwd                     //修改口令

passwd user1               //修改一个用户的口令 (只允许root执行)

chage -E 2005-12-31 user1  //设置用户口令的失效期限

pwck                       //检查 '/etc/passwd' 的文件格式和语法修正以及存在的用户

grpck                      //检查 '/etc/passwd' 的文件格式和语法修正以及存在的群组

newgrp group_name          //登陆进一个新的群组以改变新创建文件的预设群组

 

文件的权限 – 使用 “+” 设置权限,使用 “-” 用于取消

ls -lh                         //显示权限

ls /tmp | pr -T5 -W$COLUMNS     //将终端划分成5栏显示

chmodugo+rwx directory1       //设置目录的所有人(u)、群组(g)以及其他人(o)以读()、写(w)和执行(x)的权限

chmodgo-rwx directory1        //删除群组(g)与其他人(o)对目录的读写执行权限

chownuser1 file1              //改变一个文件的所有人属性

chown-R user1 directory1      //改变一个目录的所有人属性并同时改变改目录下所有文件的属性

chgrpgroup1 file1             //改变文件的群组

chownuser1:group1 file1       //改变一个文件的所有人和群组属性

find / -perm -u+s              //罗列一个系统中所有使用了SUID控制的文件

chmodu+s /bin/file1           //设置一个二进制文件的 SUID 位 运行该文件的用户也被赋予和所有者同样的权限

chmodu-s /bin/file1           //禁用一个二进制文件的 SUID

chmodg+s /home/public          //设置一个目录的SGID 位 类似SUID ,不过这是针对目录的

chmodg-s /home/public          //禁用一个目录的 SGID 

chmodo+t /home/public          //设置一个文件的 STIKY 位 只允许合法所有人删除文件

chmodo-t /home/public          //禁用一个目录的 STIKY 

 

 

文件的特殊属性 – 使用 “+” 设置权限,使用 “-” 用于取消

chattr +a file1    //只允许以追加方式读写文件

chattr +c file1    //允许这个文件能被内核自动压缩/解压

chattr +d file1    //在进行文件系统备份时,dump程序将忽略这个文件

chattr +i file1    //设置成不可变的文件,不能被删除、修改、重命名或者链接

chattr +s file1    //允许一个文件被安全地删除

chattr +S file1    //一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘

chattr +u file1    //若文件被删除,系统会允许你在以后恢复这个被删除的文件

lsattr             //显示特殊的属性

 

 

打包和压缩文件

bunzip2 file1.bz2      //解压一个叫做 'file1.bz2'的文件

bzip2 file1            //压缩一个叫做 'file1' 的文件

gunzip file1.gz        //解压一个叫做 'file1.gz'的文件

gzip file1             //压缩一个叫做 'file1'的文件

gzip -9 file1          //最大程度压缩

rar a file1.rar test_file          //创建一个叫做 'file1.rar' 的包

rar a file1.rar file1 file2 dir1   //同时压缩 'file1', 'file2' 以及目录 'dir1'

rar x file1.rar        //解压rar

unrar x file1.rar      //解压rar

tar -cvf archive.tar file1     //创建一个非压缩的 tarball

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目录下

tar -cvfj archive.tar.bz2 dir1     //创建一个bzip2格式的压缩包

tar -xvfj archive.tar.bz2          //解压一个bzip2格式的压缩包

tar -cvfz archive.tar.gz dir1      //创建一个gzip格式的压缩包

tar -xvfz archive.tar.gz           //解压一个gzip格式的压缩包

zip file1.zip file1                //创建一个zip格式的压缩包

zip -r file1.zip file1 file2 dir1  //将几个文件和目录同时压缩成一个zip格式的压缩包

unzip file1.zip                    //解压一个zip格式压缩包

 

RPM 包 – (Fedora, Redhat及类似系统)

rpm -ivh package.rpm       //安装一个rpm

rpm -ivh --nodeeps package.rpm     //安装一个rpm包而忽略依赖关系警告

rpm -U package.rpm         //更新一个rpm包但不改变其配置文件

rpm -F package.rpm         //更新一个确定已经安装的rpm

rpm -e package_name.rpm    //删除一个rpm

rpm -qa    //显示系统中所有已经安装的rpm

rpm -qa | grep httpd       //显示所有名称中包含 "httpd" 字样的rpm

rpm -qi package_name       //获取一个已安装包的特殊信息

rpm -qg"System Environment/Daemons"        //显示一个组件的rpm

rpm -ql package_name       //显示一个已经安装的rpm包提供的文件列表

rpm -qc package_name       //显示一个已经安装的rpm包提供的配置文件列表

rpm -q package_name --whatrequires     //显示与一个rpm包存在依赖关系的列表

rpm -q package_name --whatprovides     //显示一个rpm包所占的体积

rpm -q package_name --scripts          //显示在安装/删除期间所执行的脚本l

rpm -q package_name --changelog        //显示一个rpm包的修改历史

rpm -qf /etc/httpd/conf/httpd.conf     //确认所给的文件由哪个rpm包所提供

rpm -qp package.rpm -l                 //显示由一个尚未安装的rpm包提供的文件列表

rpm --import /media/cdrom/RPM-GPG-KEY  //导入公钥数字证书

rpm --checksig package.rpm             //确认一个rpm包的完整性

rpm -qa gpg-pubkey                     //确认已安装的所有rpm包的完整性

rpm -V package_name                    //检查文件尺寸、 许可、类型、所有者、群组、MD5检查以及最后修改时间

rpm -Va                                //检查系统中所有已安装的rpm小心使用

rpm -Vp package.rpm                    //确认一个rpm包还未安装

rpm2cpio package.rpm | cpio --extract --make-directories *bin*     //从一个rpm包运行可执行文件

rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm       //从一个rpm源码安装一个构建好的包

rpmbuild --rebuild package_name.src.rpm        //从一个rpm源码构建一个 rpm 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值