Linux 常用cmds - 3

发布时间 2023-05-30 14:37:00作者: Ella_952

文件或目录处理命令

ls

  • ls list 文件列表
  • ls -a a:all 包含隐藏文件的列表(linux里隐藏文件名是点开头的)
  • ls -l 别名:ll l:long 包含文件详细信息的列表
  • ls -lh h:human 人性化显示详细信息的列表
  • ls -ld d:directory 当前目录详细信息的列表
  • ls -i i:inode i节点信息

mkdir

  • mkdir make directory 创建目录
    • eg:mkdir /temp/japan /temp下创建目录/japan
  • mkdir -p 递归创建目录
    • eg: mkdir /temp/japan/cangjing /temp下创建目录/japan,再在/japan下创建/cangjing
    • eg:mkdir /temp/japan/cangjing/temp/japan/boduo /temp/japan目录下一次性创建两个目录/cnagjing、/boduo

cd

  • cd change directory 切换目录
  • cd .. 切换到上一级目录(注意:中间有个空格)

pwd

  • pwd print working directory 显示当前工作目录

rmdir

-rmdir remove empty directory 删除空目录

cp

  • cp copy 复制文件 语法格式:cp [复制文件] [复制文件] [存放目录]
  • cp -r 复制目录
  • cp -p 复制的时候保存属性 (例如创建时间不变等)

clear 或 ctrl+l 清屏

mv

  • mv move 剪切或改名

rm

  • rm remove 删除文件
  • rm -r 删除目录
  • rm -f f:force 强制删除
  • rm -rf 强制删除目录

ctrl+c 终止命令

touch

  • touch 创建文件

cat

  • cat 查看文件内容
  • cat -n n:number 查看文件信息+行号
  • tac 逆序查看文件内容

more

  • more 分页显示文件内容
    • 空格或f 翻页
    • enter 换行
    • Q或q 退出

less

  • less 分页显示文件内容时向上翻页
    • 空格或f 翻页
    • enter 换行
    • Q或q 退出
    • pgup 向上翻页
    • 上箭头 向上换行
    • /关键词 搜索并高亮显示 -n n:next 继续搜索

head

  • head 查看文件前10行(默认)
  • head -n +number 查看文件前number行

tail

  • tail 查看文件后10行(默认)
  • tail -n +number 查看文件后number行
  • tail -f 动态显示文件内容

ln

  • ln link 创建文件硬链接(默认)和源文件一模一样,类似于cp -p + 同步更新
    • 硬链接:不能跨分区;inode相同
  • ln -s s:soft 创建软链接 ,类似于windows的快捷方式
    • 软链接的权限为777

权限管理命令

chmod

  • chmod change the permissions mode of the file 改变文件或目录权限
  • chmod [ugoa][+-=][rwx]
    • [u:user所有者 g:group所属组 o:others其他人 a:all所有人]
    • [+增加权限 -减少权限 =强行重写权限]
    • [ r:read读 w:write写 x:excute执行]
  • 最常用:数字表示权限 421-rwx [r:4 w:2 x:1]
  • chmod -R 递归修改
  • file:
    • r:cat/head/tail/more/less
    • w:vim
    • x:script command
  • directory:
    • r:ls
    • w:mkdir/rmdir/touch/rm
    • x:cd

groupadd 添加用户组

chown

  • chown [用户][文件或目录名] change owner 改变文件或目录的所有者
    • 只有root可以执行

chgrp

  • chgrp [用户组][文件或目录名] change group 改变文件或目录的所属组

umask the user file-creation mask

  • mask 显示、设置文件缺省权限
    • umask -S 以rwx的形式显示新建文件的缺省权限
    • u=rwx g=rx o=rx
    • 新建的文件没有可执行权限x 即 u=rw- g=r– o=r–
  • umask 显示权限掩码
    • 0022 第一位(特殊权限)不用看
    • 后三位对应 rwx = 755 - 022
    • umask + 权限掩码 改变为你想要的权限值

linux 严格区分大小写

文件搜索命令

find

  • find [搜索范围][匹配条件] 文件搜索
    • -name 根据文件名查找
      • 精准搜索 eg:find /etc -name init 在/etc目录下按文件名init搜索
      • 模糊搜索 eg:find /etc -name init
      • ?匹配单个字符 eg: find /etc -name init??? 查找init+3个字符为名称的文件
    • -iname 根据文件名不区分大小写查找
    • -size 根据文件大小查找
      • +n大于 -n小于 n等于
      • n以数据块(0.5k 512b)为单位
      • eg:find / -size +204800 在整个盘里查找大于100M的文件
    • -user 根据所有者查找
    • -group 根据所属组查找
    • -amin a:access 访问时间
    • -cmin c:change 文件属性改变
    • -mmin m:modify 文件内容改变
      • eg: find /etc -cmin -5 在/etc目录下查找5分钟内被改变过属性的文件或目录
    • -a and 两个条件同时满足
    • -o or 两个条件满足一个
    • -type 根据类型(文件或目录)查找 f:文件 d:目录 l:软链接文件
    • -exec/-ok {} \; 固定格式 查找并显示详细信息
      • -ok 比 -exec多了一个询问确认的环节,适用于删除操作
      • eg: find /etc -name inittab -a -type -f -exec {} \;在/etc下查找名为inittab的文件并查看详细信息
    • -inum 根据i节点查找
      • eg: find . -inum 31531 -exec rm {} \;在当前目录(.)下查找i节点为31531的文件并删除

locate 快速查找

  • locate 在文件资料库中查找文件 原理类似于软件everything
    • updatedb 更新文件资料库 在资料库收录的目录(eg:/root)下创建的文件可以通过该命令更新,即可locate查找到;而在别的目录下的文件该命令无效
  • -i 不区分大小写快速查找

which

  • which 查找命令所在目录或别名
    • eg:which ls
  • whereis 查找命令所在目录和对应帮助文档所在目录

grep

  • grep -iv [指定字串][文件] 在文件中搜索指定子串并输出匹配的行
    • -i 不区分大小写
    • -v 排除指定字串
    • eg: grep -v ^# /etc/inittab 在/etc/inittab中查看不以#开头的行

man

  • man [命令或配置文件] 获得帮助信息
    • f或空格翻页
    • enter 换行
    • q 退出
    • /+关键词 搜索
    • n 继续匹配查看
    • 1:命令的帮助;5:配置文件的帮助
    • eg: man 5 passwd 查看passwd配置文件的帮助文档
  • whatis [命令] 查看命令的name描述信息
  • apropos [配置文件] 查看配置文件的name描述信息
  • [命令] –help 只查看命令的选项

info 类似于man命令,一些操作对应的键不同而已

help

  • help [shell内置命令] 查看shell内置命令的帮助信息
    • shell内置命令:一般通过which无法定位到目录的命令

用户管理命令

useradd 添加用户

  • useradd eg:useradd yangmi 添加用户yangmi
  • passwd 用户名 设置用户密码
    • eg:passwd yangmi 给用户杨幂设置密码或更改密码
  • who 查看登录用户信息
    • tty本地终端 pts远程终端
  • w 查看登录用户的详细信息
  • whoami 查看当前登录用户名

su切换用户

  • root下输入su - yangmi 在root下切换成用户yangmi,不需要输入密码
    • 输入ls,显示无权限,使用sudo ls ,输入yangmi密码还是无权限,需要提前设置/etc/sudoers配置文件,将sudo赋权给yangmi才行
  • 在普通用户yangmi下输入su 直接切换成root,需要输入root密码
  • 在普通用户yangmi下输入su - 直接切换成root,并初始化root用户配置,需要输入root密码
  • 在root下输入

压缩解压命令

gzip 只针对文件,对目录不生效 不保留源文件

  • gzip 文件名 压缩文件 文件后缀.gz
  • gunzip 或 gzip -d 文件名 解压文件

tar 打包目录 生成.tar.gz格式 保留源文件

  • 格式:tar 选项[cvfz] [打包后文件名] [被打包的目录]
    • -c c:compress 打包
    • -v 查看打包的文件信息,包含哪些文件等
    • -f f:file 指定打包文件
    • -z z:zip 打包的同时进行压缩 .gz格式
    • -j 压缩成.bz2格式
      • eg: tar -cjf boduo.tar.bz2 boduo
  • 格式:tar 选项[xvfz] [待解包的文件名]
    • -x 解包
    • -v 查看解包文件信息
    • -f 指定解压文件
    • -z 解压缩 .gz格式
    • -j 解压缩 .bz2格式
      • eg:tar -xjf boduo.tar.bz2

zip 压缩文件或目录 保留源文件 .zip 压缩能力比gzip差很多

  • 格式:zip 选项[-r] [压缩后文件或目录名] [文件或目录]
    • -r r:directoty 压缩目录
  • eg: zip boduo.zip boduo 压缩文件
  • eg: zip -r japan.zip japan 压缩目录

unzip 解压缩 不区分文件或目录

  • eg: unzip japan.zip

bzip2 压缩文件 .bz2 gzip的升级版:压缩能力增加 可以保留源文件

  • bzip2 [-k] [文件]
    • -k 压缩保留源文件
      • eg: bzip2 -k boduo

bunzip2 解压文件 参数格式同上面bzip2

  • eg: bunzip2 -k boduo.bz2

网络命令

虚拟机下centos和window互相ping通:

  • 关闭linux防火墙:service iptables stop
  • 关闭linux的selinux:vim /etc/selinux/config
    • 将SELINUX=enforcing改为SELINUX=disabled
    • 可以查看当前selinux状态验证关闭:getenforce
  • 关闭windows防火墙

write 给在线用户发送消息

  • 格式:write <用户名>
  • eg: write yangmi
  • Ctrl + D 保存
  • Ctrl + 回格 删除、回退

wall 发广播消息

  • wall [message] wall: write all

ping 检测网络的连通性 linux会一直ping ctrl+c强制终止

  • ping 选项 ip地址
    • -c c:count ping的次数
  • eg: ping -c 3 172.18.216.28 ping ip地址3次

ifconfig 查看和设置网卡信息

  • ifconfig 查看网卡信息 类似于windows下ipconfig
    • eth0:本地真实网卡 lo:回环网卡
  • ifconfig 网卡 ip地址 临时设置网卡信息
    • ifconfig eth0 +ip 给第一个网卡配置ip地址

mail 查看发送电子邮件

  • mail [用户名]
    • h 查看邮件列表
      • 邮件序号 查看邮件信息
    • d + 邮件序号 删除邮件
    • q 退出

last 列出目前和过去所有登录系统的用户信息

lastlog 查看用户最后一次登录的信息

  • lastlog -u 用户id 查看特定用户最后一次登录的信息

traceroute 显示数据包到主机间的路径(可以访问网络的前提下)

netstat 显示网络相关信息

  • netstat [选项]
    • -t : tcp协议
    • -u : udp协议
    • -l : 监听listen
    • -r : 路由 route
    • -n : 显示ip地址和端口号
    • eg:netstat -tuln 查看本机监听的端口信息
    • eg:netstat -an a:all 查看所有的监听信息(包含正在连接的)
    • eg:netstat -rn 显示本机路由表

setup 配置网络 redhat专有命令

  • service network restart 重启网络服务

mount 挂载命令

  • mount [-t 文件系统] 设备文件名 挂载点
  • eg:mount [-t iso9660] /dev/sr0 /mnt/cdrom

umount 取消挂载

  • eg: umount /dev/sr0

关机重启命令

shutdown

  • 格式:shutdown [选项] 时间
    • -h 关机 h:halt
    • -r 重启
    • -c 取消前一个关机命令
      • eg:shutdown -h now 马上关机

其他关机命令

  • halt
  • poweroff
  • init 0

其他重启命令

  • reboot
  • init 6

系统运行级别 通过cat /etc/inittab 命令可以查看

  • #### 0 关机
  • 1 单用户
  • 2 不完全多用户,不含NFS服务
  • 3 完全多用户
  • 4 未分配
  • 5 图形界面
  • #### 6 重启

runlevel 查询系统运行级别

logout 退出登录命令

vim基本命令

  • vim 文件名 进入文件的命令模式(默认)
  • 命令模式
    • a i o 进入插入模式
    • Esc 从插入模式回到命令模式
    • set nu 显示行号 nu:number
    • set nonu 不显示行号
    • gg 到第一行
    • G 到最后一行
    • nG 到第n行
    • $ 移动到行尾
    • 0 移动到行首
    • x 删除字符
    • nx 删除光标所在处后面的n个字符
    • dd 删除/剪切行
    • ndd 删除/剪切多行
    • yy 复制光标所在行
    • nyy 向下复制多行
    • p 向下粘贴
    • P 向上粘贴
    • u 取消上一步操作
    • :n 到第n行
    • :q 退出
    • :q!不保存退出
    • :wq 保存退出
    • ZZ 快捷键 保存退出
    • :w 保存文本
    • :w new_filename 另存为
  • 编辑模式
    • : 进入编辑模式
    • a 在光标所在字符后插入 a:append
    • A 在光标所在行尾插入
    • i 在光标所在字符前插入
    • I 在光标所在首插入
    • o 在光标下插入新行
    • O 在光标上插入新行

文件系统管理

  • df [选项] [挂载点] 查看文件系统
    • -h h:human 人性化显示文件系统
    • -a a:all 显示所有文件系统信息,包括隐藏的特殊文件系统
  • du [选项] [文件或目录名] 统计目录或文件大小(一般不用于文件)
    • -a 显示子目录信息
    • -h 人性化显示
    • -s 显示总共占有量
  • df 面向文件系统:文件大小+系统进程等大小
  • du 面向文件或目录:文件大小
  • df查看到的剩余空间才是真的剩余空间
  • fsck [选项] 分区设备文件名 文件系统修复命令 一般系统自动执行,无需手工操作
  • dumpe2fs 分区设备文件名 显示磁盘状态命令

查询与自动挂载

  • mount [-l] 查询系统中已经挂载的设备,-l会显示卷标
  • mount -a 根据配置文件/etc/fstab,自动挂载
  • mount [-t 文件系统] [-L 卷标名] [-o 特殊选项] 挂载文件名 挂载点
    • eg: mount -t iso9660 /dev/cdrom /mnt/cdrom 将光盘类型iso9660 的/dev/cdrom 挂载到/mnt/cdrom上,挂载点类似于windows中的盘符
    • eg:mount /dev/cdrom /mnt/cdrom 同上,默认光盘类型可以省略,光盘的设备文件名固定
  • fdisk -l 查看u盘设备文件名
  • 挂载u盘
    • mount -t vfat /dev/sdb1 /mnt/usb 将u盘中的文件系统挂载到/mnt/usb
  • linux默认不支持NTFS格式,即不支持移动硬盘,可以通过编译内核,添加NTFS格式或直接使用第三方软件

fdisk分区

  • 按照帮助提示操作:
    • -p 显示分区
    • -n 新建分区(新建扩展分区之后才会出现逻辑分区的选项)
    • -l显示分区类型id号
    • -w 保存退出
  • partprobe 强制重新读取分区表
  • 格式化分区: mkfs -t ext4 /dev/sdb1
  • 挂载分区同上 mount /dev/sdb1 /disk1

自动挂载

  • 在/etc/fstab 中添加挂载信息:vim /etc/fstab
  • /etc/fstab文件修复:
  • 修复fstab:(根分区/正常的前提下)以读写权限重新挂载 mount -o remount,rw / 再vim修改

分配/swap空间

  • free 查询内存和swap空间大小
  • cache(缓存):加速数据的读取;buffer(缓冲):加速数据的写入
  • 手动分配swap,操作步骤如下:
    • fdisk /dev/sda
    • n
    • l
    • 新建了分区sdb6之后,默认是Linux(83)格式的,要改成swap格式的,即82,需要修改分区id:t
    • 格式化swap:mkswap /dev/sdb6
      • 格式化报错,目录不存在,需要重启,让分区生效
    • 加入swap分区:swapon /dev/sdb6
      • 取消swap分区:swapoff /dev/sdb6
  • swap分区开机自动挂载:vim /etc/fstab
    • 加入一行:/dev/sdb6 swap swap defaults 0 0 保存退出即可

Linux系统管理

ps查看系统中所有进程

  • ps aux unix格式显示系统所有进程信息
  • ps -le l:long e:所有的进程 Linux格式显示系统所有进程信息

top 查看系统健康状态

  • top [选项]
    • -d 秒杀:指定top命令每隔几秒更新,默认是3秒
    • 在top命令的交互模式下可以执行的命令:
      • ?或h 显示帮助
      • P(大写) 以cpu占有率降序,默认
      • M 以内存的占有率降序
      • N 以pid降序
      • q 退出top
  • pstree [选项] 查看进程树
    • -p 显示进程的pid
    • -u 显示进程的用户

kill [pid] 终止进程

  • kill -l 查看可用的进程信号
    • 常用信号代号如下:
    • -1(数字1)重启
    • -9 强制终止
    • -15 正常终止,默认
    • eg: kill -1 22354 重启进程22354
    • eg: kill -9 22354 强制终止进程22354
  • killall [选项][信号] 进程名 按照进程名杀死进程
  • pkill [选项][信号] 进程名 按照进程名杀死进程
    • -t t:终端号 按照终端号踢除用户
    • eg: pkill -9 -t tty1 强制踢除从本地终端tty1登录的用户

把进程放入后台

  • 命令后+&
    • eg:tar -zcf etc.tar.gz /etc &
  • 命令结束+快捷键ctrl+z
  • 两者区别:前者放入后台后,继续执行;后者放入后台后,暂停执行

jobs [-l] 查看后台的工作

  • -l 显示工作的pid
    • +代表最后一个放入的进程,默认优先恢复,-代表倒数第二个放入的进程

pg %工作号 将后台暂停的工作恢复到前台

fg %工作号 将后台暂停的工作恢复到后台

  • 注意:和前台有交互的进程,是不能恢复到后台执行的,eg:top、vim等

vmstat 监控系统资源

  • vmstat 间隔时间 监控刷新次数
  • eg:vmstat 2 3 每隔2秒共监控显示3次系统资源

dmesg 开机时内核检测信息

  • dmesg | grep CPU 查询CPU相关的内核检测信息
  • dmesg | grep eth0 查看网卡信息

free 查看内存使用状态

  • free [-b|-k|-m|-g]
    • -b 以字节为单位统计
    • -k 以KB为单位显示,默认
    • -m 以MB为单位显示
    • -g 以GB为单位显示

查看CPU信息

  • cat /proc/cpuinfo

uptime 得到top命令的第一行:平均负载等;也即w命令第一行的内容

uname 查看系统和内核相关信息

  • uname [选项]
    • -a a:all 内核所以信息
    • -r 内核版本
    • -s 内核名称

判断当前系统位数:32 或 64

  • file /bin/ls

查看当前系统的发行版本:redhat、centos、ubuntu等

  • lsb_release -a

列出进程调用的文件

  • lsof [选项]
    • -c 显示字符串开头的进程调用的
    • eg: lsof -c init 查看init调用的文件
    • -u 显示某个用户调用的
    • -p 用pid查询
    • eg:lsof -p 1732

系统定时任务

crond 服务管理和访问

  • service crond restart 启动命令
  • chkconfig crond on 变为自启动命令
  • 用户的crontab设置
    • crontab [选项]
      • -e 编辑定时任务:进入vim界面
      • 格式:* * * * * command 这里的* * * * * 分别代表时间:分钟、小时、天、月、星期
      • eg:* / 1 1,2,3 * * 1-5 echo ‘test’ >> /tmp/test 在每周1-5的凌晨的1、2、3点里,每隔1分钟在/tmp/test里写入test
      • -l 查看定时任务
      • -r 删除所有定时任务,删除单个的话,直接进入vim编辑即可

用户管理命令

转自:https://blog.csdn.net/xionghuixionghui/article/details/64188671 

目录

  1. 文件或目录处理命令
    1. ls
    2. mkdir
    3. cd
    4. pwd
    5. rmdir
    6. cp
    7. clear 或 ctrl+l 清屏
    8. mv
    9. rm
    10. ctrl+c 终止命令
    11. touch
    12. cat
    13. more
    14. less
    15. head
    16. tail
    17. ln
  2. 权限管理命令
    1. chmod
    2. groupadd 添加用户组
    3. chown
    4. chgrp
    5. umask the user file-creation mask
    6. linux 严格区分大小写
  3. 文件搜索命令
    1. find
    2. locate 快速查找
    3. which
    4. grep
    5. man
    6. info 类似于man命令,一些操作对应的键不同而已
    7. help
  4. 用户管理命令
    1. useradd 添加用户
    2. su切换用户
  5. 压缩解压命令
    1. gzip 只针对文件,对目录不生效 不保留源文件
    2. tar 打包目录 生成.tar.gz格式 保留源文件
    3. zip 压缩文件或目录 保留源文件 .zip 压缩能力比gzip差很多
    4. unzip 解压缩 不区分文件或目录
    5. bzip2 压缩文件 .bz2 gzip的升级版:压缩能力增加 可以保留源文件
    6. bunzip2 解压文件 参数格式同上面bzip2
  6. 网络命令
    1. 虚拟机下centos和window互相ping通:
    2. write 给在线用户发送消息
    3. wall 发广播消息
    4. ping 检测网络的连通性 linux会一直ping ctrl+c强制终止
    5. ifconfig 查看和设置网卡信息
    6. mail 查看发送电子邮件
    7. last 列出目前和过去所有登录系统的用户信息
    8. lastlog 查看用户最后一次登录的信息
    9. traceroute 显示数据包到主机间的路径(可以访问网络的前提下)
    10. netstat 显示网络相关信息
    11. setup 配置网络 redhat专有命令
    12. mount 挂载命令
    13. umount 取消挂载
  7. 关机重启命令
    1. shutdown
    2. 其他关机命令
    3. 其他重启命令
    4. 系统运行级别 通过cat /etc/inittab 命令可以查看
    5. runlevel 查询系统运行级别
    6. logout 退出登录命令
  8. vim基本命令
  9. 文件系统管理
    1. 查询与自动挂载
    2. fdisk分区
    3. 自动挂载
    4. 分配/swap空间
  10. Linux系统管理
    1. ps查看系统中所有进程
    2. top 查看系统健康状态
    3. kill [pid] 终止进程
    4. 把进程放入后台
    5. jobs [-l] 查看后台的工作
    6. pg %工作号 将后台暂停的工作恢复到前台
    7. fg %工作号 将后台暂停的工作恢复到后台
    8. vmstat 监控系统资源
    9. dmesg 开机时内核检测信息
    10. free 查看内存使用状态
    11. 查看CPU信息
    12. uptime 得到top命令的第一行:平均负载等;也即w命令第一行的内容
    13. uname 查看系统和内核相关信息
    14. 判断当前系统位数:32 或 64
    15. 查看当前系统的发行版本:redhat、centos、ubuntu等
    16. 列出进程调用的文件
    17. 系统定时任务
    18. crond 服务管理和访问
  11. 用户管理命令