liunx常用命令
系统命令:
#df -h #查看磁盘分配路径
#uname-a #查看系统内核
#cat /etc/redhat-release #查看系统版本
#lscpu #查看cpu
# hostname # 查看计算机名
# lspci -tv # 列出所有PCI设备
# lsusb -tv # 列出所有USB设备
# lsmod # 列出加载的内核模块
# env # 查看环境变量
#cat /etc/os-release
#lsblk #查看挂载情况
#uname -m #显示机器的处理器架构
#uname -r #显示正在使用的内核版本
#hdparm -i /dev/hda #罗列一个磁盘的架构特性
#hdparm -tT /dev/sda #在磁盘上执行测试性读取操作
#cat /proc/cpuinfo #显示CPU info的信息
#cat /proc/cpuinfo | grep "physical id" | uniq | wc -l #查看cpu个数
#uniq #命令:删除重复行;wc –l命令:统计行数
#cat /proc/cpuinfo | grep "cpu cores" | uniq #查看cpu核数
#cat /proc/cpuinfo | grep 'model name' |uniq #查看cpu型号
#cat /proc/interrupts #显示中断
#cat /proc/meminfo #校验内存使用
#cat /proc/swaps #显示哪些swap被使用
#cat /proc/version #显示内核的版本
#cat /proc/net/dev #显示网络适配器及统计
#cat /proc/mounts #显示已加载的文件系统
#date #显示系统日期
#clock -w #将时间修改保存到 BIOS
基础操作:
#cd #进入
#ls-l #查看详细信息
#chmod -R 777 / #分配权限
#chown dmdba:dinstall -R /dm8/ #路径用户权限
#mkdir / #创建文件夹
# chkconfig --list # 列出所有系统服务
# chkconfig --list | grep on # 列出所有启动的系统服务
#vi/vim #编辑
#su #切换用户
#groupadd #创建组
#useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba #创建用户
#passwd dmdba #修改密码
#ps -ef | gerp+ 端口或者名称 #查看进程
#kill -9+id #杀进程
#ifconfig #查看网络情况
#ping #测试网络连通
#netstat #显示网络状态信息
#clear #清屏
#shutdown -r #关机重启 -h #关机不重启 now #立刻关机 halt #关机 reboot #重启
#find / -name #查询
#cp dir/"*" #复制
#rm -rf dir1 #删除一个叫做 'dir1' 的目录并同时删除其内容
#tail -f #查询实时日志
#free-g #内存
#tar -xzvf #解压
系统资源命令:
#free -m # 查看内存使用量和交换区使用量
#df -h # 查看各分区使用情况
#du -sh <目录名> # 查看指定目录的大小
#grep MemTotal /proc/meminfo # 查看内存总量
#grep MemFree /proc/meminfo # 查看空闲内存量
#uptime # 查看系统运行时间、用户数、负载
#cat /proc/loadavg # 查看系统负载
#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类系统)
mkswap /dev/hda3 创建一个swap文件系统
swapon /dev/hda3 启用一个新的swap文件系统
swapon /dev/hda2 /dev/hdb3 启用两个swap分区
硬盘分区命令:
#mount | column -t # 查看挂接的分区状态
#fdisk -l # 查看所有分区
#swapon -s # 查看所有交换分区
#dmesg | grep IDE # 查看启动时IDE设备检测状况
#mount -o loop /opt/dm8_setup_rh7_64_ent_8.1.1.45_20191121.iso /mnt #挂载镜像
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 挂载一个cdrom或dvdrom
mount /dev/hdc /mnt/cdrecorder 挂载一个cdrw或dvdrom
mount /dev/hdb /mnt/cdrecorder 挂载一个cdrw或dvdrom
mount -o loop file.iso /mnt/cdrom 挂载一个文件或ISO镜像文件
mount -t vfat /dev/hda5 /mnt/hda5 挂载一个Windows FAT32文件系统
mount /dev/sda1 /mnt/usbdisk 挂载一个usb 捷盘或闪存设备
mkfs /dev/hda1 在hda1分区创建一个文件系统
mke2fs /dev/hda1 在hda1分区创建一个linux ext2的文件系统
mkswap /dev/hda3 创建一个swap文件系统
网络命令:
# ifconfig # 查看所有网络接口的属性
# iptables -L # 查看防火墙设置
# route -n # 查看路由表
# netstat -lntp # 查看所有监听端口
# netstat -antp # 查看所有已经建立的连接
# netstat -s # 查看网络统计信息
安装nethogs 网络监听
#sudo nethogs ens33
用户命令:
# w # 查看活动用户
# id <用户名> # 查看指定用户信息
# last # 查看用户登录日志
# cut -d: -f1 /etc/passwd # 查看系统所有用户
# cut -d: -f1 /etc/group # 查看系统所有组
# crontab -l # 查看当前用户的计划任务
//3个文件:其中UID为0则是用户root,1~499为系统用户,500以上为普通用户
/etc/passwd #用户名:密码:UID:GID:用户信息:HOME目录路径:用户shell
/etc/shadow #用户名:加密密码:最后一次修改时间:最小修改时间间隔:密码有效期:密码需要变更前的警告天数:密码过期后的宽限时间:账号失效时间:保留字段
/etc/group #用户组名:组密码:GID:组内帐号(多个帐号用逗号分隔)
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执行)
文件操作命令:
#cd .. #返回上一级目录
#cd ../.. #返回上两级目录
#cd #进入个人的主目录
#cd ~user1 #进入个人的主目录
#cd - #返回上次所在的目录
#pwd #显示工作路径
#ls #查看目录中的文件
#ls -F #查看目录中的文件
#ls -l #显示文件和目录的详细资料
#ls -a #显示隐藏文件
#ls *[0-9]* #显示包含数字的文件名和目录名
#tree #显示文件和目录由根目录开始的树形结构(1)
#lstree #显示文件和目录由根目录开始的树形结构(2)
#mkdir dir1 #创建一个叫做 'dir1' 的目录'
#mkdir dir1 dir2 #同时创建两个目录
#mkdir -p /tmp/dir1/dir2 #创建一个目录树
#rm -f file1 #删除一个叫做 'file1' 的文件'
#rmdir dir1 #删除一个叫做 'dir1' 的目录'
#rm -rf dir1 #删除一个叫做 'dir1' 的目录并同时删除其内容
#rm -rf dir1 dir2 #同时删除两个目录及它们的内容
#mv dir1 new_dir #重命名/移动 一个目录
#cp file1 file2 #复制一个文件
chattr +a file1 只允许以追加方式读写文件
chattr +c file1 允许这个文件能被内核自动压缩/解压
chattr +d file1 在进行文件系统备份时,dump程序将忽略这个文件
chattr +i file1 设置成不可变的文件,不能被删除、修改、重命名或者链接
chattr +s file1 允许一个文件被安全地删除
chattr +S file1 一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘
chattr +u file1 若文件被删除,系统会允许你在以后恢复这个被删除的文件
lsattr file1 显示特殊的属性
chmod ugo+rwx dir 设置目录的所有人(u)、群组(g)以及其他人(o)以读(r )、写(w)和执行(x)的权限
chmod go-rwx dir 删除群组(g)与其他人(o)对目录的读写执行权限
chown user1 file1 改变一个文件的所有人属性
chown -R user1 directory1 改变一个目录的所有人属性并同时改变改目录下所有文件的属性
chown user1:group1 file1 改变一个文件的所有人和群组属性
chgrp group1 file1 改变文件的群组
[ u/g/o/a ] 含义
u user 表示该文件的所有者
g group 表示与该文件的所有者属于同一组( group )者,即用户组
o other 表示其他以外的人
a all 表示这三者皆是
[ +-= ] 含义
+ 增加权限
- 撤销权限
= 设定权限
rwx 含义
r read 表示可读取,对于一个目录,如果没有r权限,那么就意味着不能通过ls查看这个目录内部的内容。
w write 表示可写入,对于一个目录,如果没有w权限,那么就意味着不能在目录下创建新的文件。
x excute 表示可执行,对于一个目录,如果没有x权限,那么就意味着不能通过cd进入这个目录。
#cp dir/* . #复制一个目录下的所有文件到当前工作目录
#cp -a /tmp/dir1 . #复制一个目录到当前工作目录
#cp -a dir1 dir2 #复制一个目录
#ln -s file1 lnk1 #创建一个指向文件或目录的软链接
#ln file1 lnk1 #创建一个指向文件或目录的物理链接
#iconv -l #列出已知的编码
搜索命令:
#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 -exec chmod 755 '{}' \; #搜索以 '.rpm' 结尾的文件并定义其权限
#find / -xdev -name \*.rpm #搜索以 '.rpm' 结尾的文件,忽略光驱、捷盘等可移动设备
#locate \*.ps #寻找以 '.ps' 结尾的文件 - 先运行 'updatedb' 命令
#whereis halt # 显示一个二进制文件、源码或man的位置