美文网首页
LINUX常用命令

LINUX常用命令

作者: 我爱铲屎 | 来源:发表于2024-06-25 23:53 被阅读0次

echo $SHELL

基础命令—了解系统概况

  • 系统版本信息:cat /etc/centos-release ; uname -a
  • CPU信息:cat /proc/cpuinfo ; lscpu
  • 内存信息:cat /proc/meminfo ; free
  • 网卡信息:ip addr ;
  • 磁盘空间:df -h ; df -k
  • 主机名:hostname

基础命令 — ulimit

  • 用来限制进程对资源的使用情况
  • umilit - a 列出当前用户的限制情况
    -n size:设置内核可以同时打开的文件描述的最大值.单位:n
    -f size:设置创建文件的最大值.单位:blocks
    -u size:设置用户的最大进程数,单位:n
  • /etc/security/limits.conf

基础命令 — 软件安装卸载

  • rpm (不会下载依赖的软件)
    安装:rpm -ivh
    卸载: rpm -e
    rpm -qa
  • yum (自动下载依赖的软件)
    安装:yum install
    卸载:yum remove
    查找:yum search
    查看仓库:yum repolist
    /etc/yum.repos.d

基础命令 — su

  • 切换用户
    su root
    su - username

基础命令 — ps

  • 一般使用 ps -ef
  • 显示cpu瞬间的使用率,内存消耗 ps aux (top)
  • ps -e -o "user,pid,pcpu,user,sz"
  • CPU占用最多的前10个进程:ps auxw|sort -rn -k3|head -10
  • 内存消耗最多的前10个进程:ps auxw|head -1;ps auxw |sort -rn -k4|head -10
  • ps -eo pid,lstart,etime,cmd|more
  • 树型显示:ps -axjf

基础命令 — kill

  • kill 信号 进程
  • kill [pid] 默认信号量 15
  • kill -9 [pid]
  • 另外一个常用信号:ctl + z
    • bg 后台运行

基础命令 — date

  • date -d "2024-06-02 00:00:00"
  • date -R 带时区
  • date -s "2024-06-02 00:00:00"
  • date "+%Y-%m-%d %H:%M:%S"
  • date "+%W" 今年第几周
  • date "+%w" 今天周几

文件

文件类型

  • 普通文件
  • 设备文件
  • 管道文件
  • 网络接口文件
  • ......

文件时间属性

  • mtime 修改时间
  • atime 访问时间
  • ctime 属性或位置的修改时间

确认文件类型

  • ls -l
  • ls -la
  • file file_name
  • stat file_name

权限

  • ROOT/普通用户
  • USER/GROUP/OTHER
  • r/w/x
r:读 w:写 x:执行
文件类型    属主权限    属组权限    其他用户权限
    d        rwx        r-x           r-x
  • 权限改变
chown 修改文件和目录的所属用户或组
chown -[R] user[:grp] file
chmod 修改文件的rwx权限
chmod [ugoa]([-+=](r/w/x)) file
chown.png chmod.png

文件链接

  • ln (创建链接):ln [-s] source target
  • 硬链接 (同一个文件系统):target 和source指向同一个数据区域
  • 软链接 (-s):新建一个target链接向source但并不直接指向source的数据区域
  • ln可以解决,文件名被改了,程序读不到
  • 一个目录满了,挪到其他地方存储,在原有的地方建一个符号链接
  • ln 快速copy文件
  • ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其他的文件都会发生相同的变化
  • 源文件移动不会影响到硬链接,但会影响到软链接

文件相关操作 — 复制移动

  • cp
    • cp -R 递归
    • cp -p 附带属性也cp过去
    • cp -i 防止覆盖已存在的文件,相反的:-f
  • scp
    • scp [参数] [源路径] [目标路径]
    • push:源为本地,目标为远端
    • pull:源为远端,目标为本地
  • mv
    • rename&move
    • mv -i
    • -b:当文件存在时,覆盖前备份
  • mv 文件夹的时候,目标文件夹存在,源文件夹会变成目标文件的子文件夹
  • rm,rmdir
    • rm -rf 慎用
    • rm -l

文件相关操作 — 解压缩

  • tar -- 打包,解包
tar cvf archive.tar foo bar # 将文件 foo和bar 打包进 archive.tar
tar xvf archive.tar # 解包
tar tvf archive.tar # list tar file

查找文件 — find

  • find
    • find . -name "test*"
    • find . -type
    • find . -type d

查看文件

  • head/tail
    • head -100:看头100行
    • tail -100f:看后100行
  • more
    • 显示进度
    • 空格后翻页,b键前方
  • less
    • 可使用上下键翻页
  • cat
    • 一次性显示整个文件内容
    • cat -n/-b 显示行号输出
    • cat -E 使用$标记行尾

比较文件

  • diff # 文件内容比较
    • diff x1.txt x2.txt
    • diff -y x1.txt x2.txt 纵向输出
    • diff -w x1.txt x2.txt 忽略空格
    • diff -c x1.txt x2.txt 上下文格式
    • diff -u x1.txt x2.txt 合并格式输出

排序去重 — sort/uniq

  • 排序:sort
    • 主要选项:
      • -t 分隔符
      • -k 排序字段
      • -n 按数字排序
  • 去重:uniq
    • 主要选项
      • -c 重复次数
      • d 重复记录
      • -u 不重复的记录

sed — stream editor

  • sed
    • sed '行号1,行号2[命令]'
  • sed -n '/output_temp/p' file
    • 与grep命令功能相同,但对regexp支持的更加广泛
  • sed '1,6d' file 删除前6行
  • sed 's/abc/xyz/g' file 全局替换abc为xyz
  • sed 's/[\t]{1,}/;/' file 替换一个或多个空格或制表符为;
  • echo "2024-6-1" | sed 's/-([0-9])-{1}/-0\1-/;s/-([0-9]$){1}/-0\1/'
    • 2024-6-1 替换为 2024-06-01
  • sed '/^$/d;/^#/d' file 删掉空行或注释

文本文件操作 — awk

文本编辑工具 — vi

  • Vi工作模式
    • 命令模式
    • 插入模式
    • 底行模式
  • 移动光标类命令
    • h:光标左移一个字符
    • l:光标右移一个字符
    • k:光标上移
    • j:光标下移
    • $:光标移至句尾
    • ^:光标移至句首
    • nG:光标移至第n行首
    • G:光标移至文件最后一行
  • 屏幕翻滚类命令
    • ctrl+u:向前翻半页
    • ctrl+d:向后翻半页
    • ctrl+f:向后翻一页
    • ctrl+b:向前翻一页
  • 插入文本类命令
    • i:光标前插入
    • I:在当前行首
    • a:光标后
    • A:在当前行尾
    • o:在当前行下新开一行
    • A:在当前行之上新开一行
    • r:替换当前字符
    • R:替换当前字符及其后的字符,直至按ESC

相关文章

网友评论

      本文标题:LINUX常用命令

      本文链接:https://www.haomeiwen.com/subject/ipkjqjtx.html