linux常用命令
命令大全
- ls 显示目录文件
选项: -d 显示当前目录 -i 显示inode号 -h 常见单位显示 -a 显示所有文件包括隐藏文件
- cd 切换目录(shell内置命令)
cd - 进入上一次目录 cd ~ 进入家目录 cd .. 进入上级目录
- pwd 显示当前路径
- mkdir 建立目录
例:mkdir -p /huang/xiao/qi 递归建立
- rm 删除文件
选项:-r递归,删除目录 -f强制 例:rm -rf 文件和目录
- tree 显示目录下所有目录树(要安装的命令)
- touch 创建新文件或修改文件时间
- cat 查看文件内容
选项:-n显示行号 例:cat -n 文件名
- more 分页显示文件内容
空格键:下翻 n键:上翻 q键:退出
- less 分行显示文件内容
空格键或pgdn:下翻 pgup键:上翻 q键:退出
- head 显示文件头,默认10行
选项:-n 指定显示文件头几行
- tail 显示文件后几行,默认10行
选项:-n 指定显示文件头几行 -f 监听文件尾部
- cp 复制文件(如果复制链接文件,则复制原文件)
选项:-r 复制目录(包括目录内文件数据) -p 连带文件属性复制 -d 若源文件是链接文件,则复制链接属性 -a 相当于-rpd 例:cp -pdr 源文件位置 目的位置
- mv 剪切或改名
例:mv 源文件 目的文件位置
- type 区分命令类型
例:type 命令
- ln 生成链接文件(硬链接)
选项:-s 生成软链接 例:ln -s 源文件 目的文件
- chmod 修改权限
例:chmod 775 文件或目录 选项:-R 递归设置,将设置到该目录上的权限递归设置到该目录下的所有子文件上
- chown 修改所有者
例:chown 用户:用户组 文件或目录名 (同时修改所有者和所属组) 选项:-R 递归设置,将设置到该目录上的所有者递归设置到该目录下的所有子文件上
- chgrp 修改所属组
例:chgrp 所属组 文件名或目录
- umask 查看文件和目录默认权限
- man 查看命令帮助
0-9 命令等级例: man -f 命令 选项:-f 查看命令等级
- help 查看内部命令帮助
例:help 内部命令
- –help 查看常用命令选项帮助
例:命令 --help 命令 --version 查看命令作者
- info查看帮助页
例:info 命令 选项:n进入下一小节 p进入上一小节 q退出 enter确认
- which查找存储命令路径与alias别名
例:which 命令
- whereis查找存储命令路径与man帮助存储位置
例:whereis 命令
- whatis 查询命令帮助等级
例:whereis 命令
- locate按文件名查找系统中的文件(包含匹配,在系统数据库中查找)
例:locate 文件名 配置文件:/etc/updatedb.conf 配合命令:updatedb强制更新数据库/var/lib/mlocate/mlocatedb位置
- find 查询符合条件的文件名(完全匹配,可用通配符)
例:find 查找位置 选项 文件名 选项:-name 按文件名查找 -iname 不区分大小写 -size 按文件大小查找 -type 按文件类型查找(f:文件d:目录l:链接) -ctime 按权限修改时间查找,如+4,-4,4天 -mtime按数据修改时间查找 -atime 按访问时间查找 -nouser按没有属主的文件查找 -user 按用户名查找 -group 按用户组查找 -uid 按用户ID查找 -gid 按属组组ID查找 -inum 按i节点查找 -perm 按权限查找,如775 -exec {} \;管道符作用
- grep 查找符合条件的字符串,文件中查找数据,包含匹配
例:grep “字符串” 文件名 选项:-i 不区分大小写 -v 反向 -c 统计符合条件的行数 -A 数字 #列出符合条件的行,并连续列出后面n行 -B 数字 #列出符合条件的行,并连续列出前面n行 --colour=auto 查找字符显示红色
- “|” 管道符,命令1的结果作为命令2的条件
例:ls -l | grep “^-”
- netstat 查看系统网络状态
例:netstat -tuln 选项:-t 显示tcp -u 显示udp -l 监听 -n 显示IP和端口
- tar 打包压缩命令
例:tar -zcvf 压缩文件名 源文件 选项:-z:gz格式 -j:bz2格式 -c:解压 -x:压缩 -t:显示压缩文件不解压 -C:解压到指定位置 tar -zxvf 123.tar.gz 123/aaa -C /root/ 解压其中一个文件
- w 查看当前在线用户(显示用户登入时间,在线持续时间,1,5,15分钟前的cpu负载,来源IP)
- who查看当前在线用户(在线持续时间,来源IP)
- last 列出登入相关信息(显示用户开始登入时间,退出登入时间,在线时间,系统重启时间)
文件位置:/var/run/wtmp
- lastlog显示账户最后一次登入时间
文件位置:/var/run/utmp
- write 给在线用户写信息
- wall对所有在线用户说话
- mail邮件命令
例:mail 用户名 (写信ctrl+d:保存退出) 选项:1 2 查看对于邮件 h列出邮件标题 q退出 邮件保存位置:/var/spool/mail/root
- ping网络探测
选项:-c 指定次数 -s 指定数据包大小
- ifconfig查看网卡配置
例:ifconfig etho0 配置临时生效网卡
- netstat查看网络状态
例:netstat -tuln 选项:-t tcp -u udp -l listen -n 显示IP和端口 配置文件:/etc/services
- telnet 测试端口连通性
例:telnet IP 端口
- sync数据同步,强制把内存数据保存到硬盘
- shutdown关机重启命令
例:shutdown -r now重启(可以指定时间,建议使用) shutdown -h now关机
- mount挂载命令(直接执行可以查看已经挂载的挂载点)
例:mount [-t iso9660] /dev/sr0 挂载点 选项:-t 文件系统 光盘iso9660 U盘fat:16或vfat:32 -L 卷标名 挂载指定卷标的分区 -o 特殊选项 可以指定挂载的额外选项 常用挂载 挂载光盘 例:mount 【-t iso9660】 /dev/sr0 /mnt/cdrom 卸载挂载 例:umount /mnt/cdrom 指定字符编码挂载 例:mount -o iocharset=utf8 /dev/sr0 /mnt/cdrom/ 挂载特殊指定项 mount -o remount,exec 挂载点(remount针对已挂载) 挂载本地镜像 mount -o loop 镜像文件 挂载点 查看分硬盘区 例:fdisk -l 显示当前系统字符编码 例:echo $LANG 修改字符编码 例: $LANG=zh_CN.UTF-8 $LANG=en_US.UTF-8 强制把内存数据保存到硬盘中(建议重启前使用) 例:sync 重启命令(建议使用) 例:shutdown -r now 或指定时间 05:30
- umount 卸载挂载点
例:umount 挂载点或设备文件名
- rpm二进制包安装命令
例:rpm -ivh 包全名 选项:-i:安装 -v:显示更详细信息 -h:显示安装进度 -q:查询包是否安装 -a:查询所有安装包 -qi:查询安装包的信息 -qip:查询未安装包的信息 -ql:查询包中,文件的安装位置 -qf:查询系统文件属于哪个安装包 -qR:查询软件包所依赖的软件包 -qRp:查询没有安装的软件包的依赖包 -e:卸载 -V:检验安装包有没有修改过 -U:升级安装包,如果没有安装,就安装 -F:升级安装包,如果没有安装,就不安装 --force:强制安装,用于文件丢失 --import:用于导入数字证书,安装包在
- date修改时间命令
例:date -s 20180613或15:12:11 选项:-s:指定时间
- lrzsz安装包,用于xshell上传或下载文件的
例:先安装lrzsz安装包, 选项:rz:下载 sz:上传
- dos2unix和Unix2dos安装包,需要安装,用于Windows和Linux系统之间的文件转换
例:dos2unix 文件名 或 unix2dos 文件名
- yum在线安装
例:yum -y install 包名 选项:install安装 remove卸载 update升级(如果不指定包名,就全部软件升级,小心使用) list查看yum源所有可以安装的rpm包,可以指定包名 search查看yum源中所有与关键字相关的包 info查看包的信息 grouplist查看所有软件组 groupinstall安装指定组包 groupinfo查看组包中的软件 groupremove卸载组包
- LANG查看系统当前语言
例:LANG=zh_CN.UTF-8 选项:echo $LANG 查看当前使用语言
- uname -r 查看系统内核版本
- du 统计目录大小(统计文件大小是准确的)
例:du -sh 目录 选项:-h 人性化显示 -s 和 -a 显示每个子文件磁盘占用量
- df 查看分区大小(查看硬盘剩余空间是准确的)
例:df -h 选项:-h 人性化显示 -a 显示所有文件系统 -T 显示挂着的文件系统类型
- diff 生成补丁
例:diff -Naur 旧文件 新文件 > 补丁文件
- patch导入补丁命令
例:patch -pn < 补丁名 (-n:数字 -p:取消路径等级)
- 防火墙关闭
例:iptables -F (临时生效,清空防火墙配置) service iptables stop(永久生效,停止防火墙服务) chkconfig iptables off(永久生效,防火墙服务开机不启动)
- useradd添加用户
例:useradd 选项 参数 用户名 选项: -u:UID -g:指定初始组 -d:指定家目录,目录不需要事先创建 -s:指定登录shell -G:指定附加组 -r:创建系统用户,默认密码失效,没有家目录,与-s一起使用,指定shell为/sbin/nologin
- passwd修改密码
例:passwd 选项 用户 选项: -l:锁定用户密码 -u:解锁用户密码 -U:查看密码状态
- usermod用户信息修改
例:usermod 选项 用户名 usermod -m -d /home/已更改名 用户名 选项: -u:修改UID -g:修改初始组 -d:修改家目录与-m一起使用 -L:锁定密码 -U:解锁密码 -G:修改附加组 -l 新用户名 旧用户名 修改用户名 -s:修改登录的shell
- userdel删除用户
例:userdel 选项 用户名 选项:-r:连家目录一起删除
- groupadd增加组
例:groupadd 组名
- groupdel删除组
例:groupdel 组名(尽量空组)
- gpasswd向组内添加成员
例:gpasswd 选项 用户名 组名 选项:-a:指定一个用户添加到组 -d:删除组内成员 -M:批量添加组成员
- echo $?(上次命令是否执行成功,0表示成功,非0表示错误)
- id显示用户的UID,初始组,附加组
例:id 用户名
- su切换用户
例:su 用户名 例:su - 用户名 连带环境变量一起切换
- newgrp切换有效组
例:newgrp 组
- dumpe2fs查看ACL权限
例:dumpe2fs 分区 | grep acl
- setfacl设置ACL权限
例:setfacl -m u:用户名:权限 文件名(添加ACL权限rwx) setfacl -x u:用户 文件名(删除ACL权限) setfacl -b 文件名(清空ACL权限,包括mask) setfacl -m u:权限(设置mask权限) setfacl -R -m u:用户名:权限 文件名(递归设置) setfacl -d -m u:用户名:权限 文件名(默认权限设置)
- getfacl查看文件权限
例:getfacl 文件名或目录
- chattr 文件属性设置
例:chattr +i 文件或目录 选项:i:对文件,不允许任何操作修改 对目录,那么只能修改目录下文件的数据 a:对文件,那么只能在文件中增加数据 对目录,那么只允许在目录中建立和修改文件 e:表示该文件是使用ext文件系统进行存储的,而且不能使用“chattr -e”命令取消e属性
- lsattr 查看文件属性
77.fsck文件系统修复命令例:lsattr -a 文件名 选项:-a 显示所有 -d 如果目标是目录,仅显示目录本身
例:fsck -y 分区名
- dumpe2fs 显示磁盘状态
例:dumpe2fs -h 分区名 #卷标,挂载点,UUID,挂载参数,文件系统状态,inode总量/空闲,block总量/空闲,单个block大小
- stat显示文件详细信息
例:stat 文件名 #文件名,文件大小,占用的block的大小,所在设备编号,硬链接数,属组,属主,权限,访问时间,数据修改时间,状态时间
- file判断文件类型
例:file 文件名
- type判断命令是否是内部或外部命令
例:tpye 命令
- fdisk分区命令MBR
例:fdisk -l 查看磁盘分区 选项:fdisk 进入分区交互模式 -m 操作菜单 -n 新建分区 -p 查看分区 -d 删除分区 -q 退出不保存 -w 退出保持 -t 修改分区属性(可以更改swap分区用) -L 查看分区属性
- partprobe强制读取所有分区
例:若分区报错,可使用此命令,若没安装,parted-2*安装包
- mkfs格式化分区
例:mkfs -t ext4 分区名 mkfs -t ext4 -b4096 -i4096 分区 mkfs.ext4 分区
- parted分区命令GPT
例:parted 分区 #进入交互模式 选项:p 打印分区表 mklabel 更改分区表类型gpt/msdos mkpart 创建分区 rm 删除分区 q 退出(修改实时生效)
- swap分区命令
例:1.fdisk分区
- 更改分区属性为swap
3.mkswap 格式化分区
4.swapon 开启swap分区 - free查看swap分区状态
- quota磁盘配额相关命令
选项:quotacheck -avgu 生产磁盘配额文件 -a #扫描所有磁盘 -v #显示扫描过程 -c #清楚原有文件重新生成行动文件 -g #生成组文件 -u #生成用户文件 edquota -u 用户名 #指定用户限制设置 -g 组名 #指定组限制设置 -t #用户宽限天数设置 -T #组宽限天数设置 -p #复制设置 quota -uvs #查看此用户在所有磁盘的配额 quota -hvs #查看此组在所有磁盘的配额 repquota -ugvs 分区 #查看该分区的所有配额设置 quotaon -guav 分区 #开启指定分区磁盘配额设置 quotaoff -guav 分区 #关闭指定分区磁盘配额设置
- dd用指定大小的块拷贝一个文件
if=指定源文件 of=指定目的文件 bs=bytes:同时设置读入/输出的块大小为bytes个字节 count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节 dd应用实例
- 将本地的/dev/hdb整盘备份到/dev/hdd
dd if=/dev/hdb of=/dev/hdd
- 将/dev/hdb全盘数据备份到指定路径的image文件
dd if=/dev/hdb of=/root/image
- 将备份文件恢复到指定盘
dd if=/root/image of=/dev/hdb
- 备份/dev/hdb全盘数据,并利用gzip工具进行压缩,保存到指定路径
dd if=/dev/hdb | gzip > /root/image.gz
- 将压缩的备份文件恢复到指定盘
gzip -dc /root/image.gz | dd of=/dev/hdb
- 备份与恢复MBR
a.备份磁盘开始的512个字节大小的MBR信息到指定文件: dd if=/dev/hda of=/root/image count=1 bs=512 count=1指仅拷贝一个块;bs=512指块大小为512个字节。 b.恢复: dd if=/root/image of=/dev/had 将备份的MBR信息写到磁盘开始部分
- 拷贝内存内容到硬盘
dd if=/dev/mem of=/root/mem.bin bs=1024 (指定块大小为1k)
- 拷贝光盘内容到指定文件夹,并保存为cd.iso文件
dd if=/dev/cdrom(sr0) of=/root/cd.iso
- 增加swap分区文件大小
第一步:创建一个大小为256M的文件: dd if=/dev/zero of=/swapfile bs=1024 count=262144 第二步:把这个文件变成swap文件: mkswap /swapfile 第三步:启用这个swap文件: swapon /swapfile 第四步:编辑/etc/fstab文件,使在每次开机时自动加载swap文件: /swapfile swap swap default 0 0
- 销毁磁盘数据
dd if=/dev/urandom of=/dev/hda1 注意:利用随机的数据填充硬盘,在某些必要的场合可以用来销毁数据。
- 测试硬盘的读写速度
dd if=/dev/zero bs=1024 count=1000000 of=/root/1Gb.file dd if=/root/1Gb.file bs=64k | dd of=/dev/null
- 确定硬盘的最佳块大小:
dd if=/dev/zero bs=1024 count=1000000 of=/root/1Gb.file dd if=/dev/zero bs=2048 count=500000 of=/root/1Gb.file dd if=/dev/zero bs=4096 count=250000 of=/root/1Gb.file dd if=/dev/zero bs=8192 count=125000 of=/root/1Gb.file
- LVM逻辑卷管理命令
选项: pvcreate 磁盘设备名 #创建物理卷 pvscan或pvdisplay #查看物理卷 pvremove #删除物理卷 vgcreate -s PE大小 卷组名 物理卷名 #创建卷组 vgscan或vgdisplay #查看卷组 vgremove 卷组名 #删除卷组 vgextend 卷组名 物理卷名 #增加物理卷 vgreduce 卷组名 物理卷名 #删除物理卷 lvcreate -L 大小 -n lv名 卷组名 #创逻辑卷 lvscan或lvdisplay #查看逻辑卷 lvremove 逻辑卷名 #删除逻辑卷 lvextend -L +大小 分区名 #增加逻辑卷容量,只修改MBR表 resize -f 分区名 分区实际大小 #修改superblock大小 e2fsck -f 分区名 #检查文件系统 resize -f 分区名 减少到大小 #与增加大小反着来 lvreduce -L 实际大小 分区名
- RAID设置命令
例:mdadm -Cv md* -l10 -n4 磁盘 -x2 热备 #创建RAID10 mdadm -D 查看RAID10状态 mdadm -f cip #指定磁盘损坏 mdadm 设备名md* --remove 磁盘 #移除磁盘 mdadm 设备名md* --add 磁盘 #添加磁盘 mdadm -S 设备名md* #停止RAID mdadm --zero-superblock 设备名md* #删除RAID
- set查询当前所有生效的变量
例:set -u #设置后,被调用的无效变量报错 set -x #设置后,每次执行命令,打印一次命令 unset 变量名 #取消变量
- env只查询环境变量
- echo 输出到屏幕
例:echo -e “字符或格式” 选项:-e 支持反斜线控制的字符转换 -n 取消输出后行尾的换行符
- history历史命令
例:history -c #清空历史命令 -w #把缓存的历史命令保存到配置文件中
- dd命令详解
作用 dd:用指定大小的块拷贝一个文件 格式 dd if=/dev/zero of=/指定目录 bs=1M count=1000 if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file > of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file > bs=bytes:同时设置读入/输出的块大小为bytes个字节。 count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。 dd应用实例
- 将本地的/dev/hdb整盘备份到/dev/hdd
dd if=/dev/hdb of=/dev/hdd
- 将/dev/hdb全盘数据备份到指定路径的image文件
dd if=/dev/hdb of=/root/image
- 将备份文件恢复到指定盘
dd if=/root/image of=/dev/hdb
- 备份/dev/hdb全盘数据,并利用gzip工具进行压缩,保存到指定路径
dd if=/dev/hdb | gzip > /root/image.gz
- 将压缩的备份文件恢复到指定盘
gzip -dc /root/image.gz | dd of=/dev/hdb
- 备份与恢复MBR
a.备份磁盘开始的512个字节大小的MBR信息到指定文件: dd if=/dev/hda of=/root/image count=1 bs=512 count=1指仅拷贝一个块;bs=512指块大小为512个字节。 b.恢复: dd if=/root/image of=/dev/had 将备份的MBR信息写到磁盘开始部分
- 拷贝内存内容到硬盘
dd if=/dev/mem of=/root/mem.bin bs=1024 (指定块大小为1k)
- 拷贝光盘内容到指定文件夹,并保存为cd.iso文件
dd if=/dev/cdrom(sr0) of=/root/cd.iso
- 增加swap分区文件大小
第一步:创建一个大小为256M的文件: dd if=/dev/zero of=/swapfile bs=1024 count=262144 第二步:把这个文件变成swap文件: mkswap /swapfile 第三步:启用这个swap文件: swapon /swapfile 第四步:编辑/etc/fstab文件,使在每次开机时自动加载swap文件: /swapfile swap swap default 0 0
- 销毁磁盘数据
dd if=/dev/urandom of=/dev/hda1 注意:利用随机的数据填充硬盘,在某些必要的场合可以用来销毁数据。
- 测试硬盘的读写速度
dd if=/dev/zero bs=1024 count=1000000 of=/root/1Gb.file dd if=/root/1Gb.file bs=64k | dd of=/dev/null 通过以上两个命令输出的命令执行时间,可以计算出硬盘的读、写速度。 /dev/zero,是一个输入设备,你可你用它来初始化文件。该设备无穷尽地提供0,可以使用任何你需要的数目——设备提供的要多的多。他可以用于向设备或文件写入字符串0。 /dev/null——它是空设备,也称为位桶(bit bucket)。任何写入它的输出都会被抛弃。如果不想让消息以标准输出显示或写入文件,那么可以将消息重定向到位桶。外号叫无底洞,你可以向它输出任何数据,它通吃,并且不会撑着!
- 确定硬盘的最佳块大小:
dd if=/dev/zero bs=1024 count=1000000 of=/root/1Gb.file dd if=/dev/zero bs=2048 count=500000 of=/root/1Gb.file dd if=/dev/zero bs=4096 count=250000 of=/root/1Gb.file dd if=/dev/zero bs=8192 count=125000 of=/root/1Gb.file 通过比较以上命令输出中所显示的命令执行时间,即可确定系统最佳的块大小。
常用查看命令
- uname -a 查看内核/操作系统/CPU信息的linux系统信息命令
- cat /etc/redhat-release 查看系统版本
- cat /proc/cpuinfo| grep “processor”| wc -l 查看逻辑CPU个数
- systemctl list-unit-files 查看服务启动项
- cat /proc/sys/fs/file-max 系统最大打开文件描述符数
- cat/proc/sys/fs/nr_open 单个进程可分配最大文件数
- cat /proc/sys/fs/file-nr 查看当前系统使用的打开文件描述符数
- sed -i ‘/^SELINUX/s/enforcing/disabled/g’ /etc/selinux/config 关闭selinux
- localectl set-locale LANG=zh_CN.UTF-8 更改为中文字符集
- localectl status 查看系统字符集
- echo ‘export TMOUT=300’ >>/etc/profile 设置闲置超时时间为300s
- echo ‘export HISTFILESIZE=100’ >>/etc/profile 设置闲置超时时间为300s
- echo ‘export HISTTIMEFORMAT=”%Y-%m-%d %H:%M:%S”‘ >>/etc/profile 格式化输出历史记录(以年月日分时秒的格式输出)
#查看 CPU 物理个数
grep ‘physical id’ /proc/cpuinfo | sort -u | wc -l
#查看 CPU 核心数量
grep ‘core id’ /proc/cpuinfo | sort -u | wc -l
#查看 CPU 线程数
grep ‘processor’ /proc/cpuinfo | sort -u | wc -l
#查看 CPU 型号
dmidecode -s processor-version
#查看 CPU 的详细信息:
cat /proc/cpuinfo
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!