Linux 常用命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 | -rw-r--r-- 文件类型(-文件 d目录 l软链接) rw- r-- r-- u所有者 g所属组 o其他人 r读w写x执行 组 kb 最后一次修改时间 -rw-r--r--. 1 root root 18 Dec 28 2013 .bash_logout -rw-r--r--. 1 root root 176 Dec 28 2013 .bash_profile -rw-r--r--. 1 root root 176 Dec 28 2013 .bashrc 文件搜索命令 文件搜索 locate yum install mlocate locate 文件名 (查不到新建的文件,一天一更新数据库 可以使用updatedb命令更新) 文件搜索 find find / -name 文件名 find / -iname 文件名 # 不区分大小写搜索 find / -nouser # 查找没有所有者的文件 find / -user root # 查找所有者为root的文件 find /var/log/ -mtime +10 # 查找10天前修改的文件 -10 10天内修改的文件 10 10天当天修改的文件 +10 10天前修改的文件 atime 文件访问时间 ctime 改变文件属性 mtime 修改文件内容 find / -size 25k -25k 小于25KB的文件 25k 等于25KB的文件 +25k 大于25KB的文件 * 匹配任意字符 ? 匹配任意一个字符 [] 匹配任意一个中括号内的字符 命令搜索 whereis 与 which whereis 只能查系统命令(不能查文件) -m 只看文档 -b 只看路径 whereis ls which 只能查系统命令(不能查文件) which ls (可以看见文件的别名) 字符串搜索 grep (在文件中查找字符串) -i 忽略大小写 - v 取反 grep xxx /root/xxx .txt find 与 grep 区别 find 查找文件 grep 在文件中查找字符串 帮助命令 man man ls # 查看ls详细帮助文档 man -k password # 列出所有包含password相关的帮助 等同 apropos password man -f ls # 查看帮助级别 等同 whatis ls ls --help 压缩命令 zip 压缩文件 常见压缩格式: .zip .gz .bz2 . tar .gz . tar .bz2 zip 压缩文件名.zip 源文件 # 压缩文件 zip -r 压缩文件名.zip 源目录 # 压缩目录 unzip 解压缩 unzip 源文件.zip tar 文件打包 tar -cvf 打包文件名 源文件 -c 打包 - v 显示过程 -f 指定打包后的文件名 tar -cvf longzls. tar longzls tar 解打包 tar -xvf longzls. tar -x 解打包 tar .gz 压缩文件 tar -zcvf 压缩文件名. tar .gz 源文件 -z: 压缩为. tar .gz 格式 tar .gz 解压缩文件 tar -zxvf 压缩包. tar .gz -z: 解压缩. tar .gz格式 tar .bz2格式压缩 tar -jcvf 压缩包. tar .bz2 源文件 -j 压缩为. tar .bz2 格式 tar .bzt格式解压缩 tar -jxvf 压缩包. tar .bz2 -j: 解压缩. tar .bz2格式 指定到压缩目录 tar -zxvf 压缩包. tar .gz -C /temp/ -C 指定目录 shutown 命令 shutdown [选项] 时间 -c 取消前一个关机命令 -h 关机 -r 重启 reboot 重启命令 logout 退出登录 文件挂载命令 mount mount 查看系统已挂载的设备 mount -a # 依据配置文件/etc/fastab的内容,自动挂载 mount [-t 文件系统] [-o特殊选项] 设备文件名 挂载点 -t文件系统:加入文件系统类型来制定挂载的类型,可以是ext3,ext4,ios9660等文件系统 -o特殊选项:可以指定挂载的额外选项 mount xxx /mnt/xxx 卸载命令 umount /mnt/xxx w 查看用户登录信息命令 who 查看用户登录信息命令 last 查看登录用户信息 lastlog 查看所有用户登录信息 常用快捷键 ctrl + a 光标移动到行首 ctrl + l 清屏 ctrl + u 光标位置删除到行首 ctrl + e 光标移动到行尾 ctrl + z 把命令放入后台执行 ctrl + r 在历史命令中搜索 历史命令 history [选项] [历史命令] -c 清空历史命令 -w 把缓存中的历史命令写入历史命令保存文件~. /bash_history 写入环境变量配置文件 vim ~/.bashrc # root 用户下的环境变量配置文件 每个用户下都有自己的配置文件 source .bashrc # 刷新配置文件 alias 别名 alias 查看系统别名 alias ls = 'ls --color=auto' # 设置系统别名 unalias 别名 # 删除别名 shell 脚本 echo "hello word" -e 支持特殊符 (\n \t ...) echo "\e[1;31m 张三 \e[0m" # \e使用颜色 1开启颜色 31m颜色类型 \e[0m 结束颜色 标准输入输出 0 标准输入 1 标准输出 2 标准错误输出 输出重定向 标准输出重定向 命令 > 文件 # 覆盖的方式 命令 >> 文件 # 追加的方式 标准错误输出重定向 命令 2> 文件 # 覆盖 命令 2>> 文件 # 追加 正确输出和错误输出同时保存 命令 > 文件 2>&1 # 覆盖内容,正确和错误都输出到指定文件中A 命令 >> 文件 2>&1 # 追加内容,正确和错误都会追加到指定文件中B 命令 &> 文件 # 覆盖同A 命令 &>> 文件 # 追加同B ls &> /dev/null # 丢弃记录 命令 >> 文件A 2>>文件B # 正确的输出到文件A,错误输出到文件B 逻辑与 || , && , ; || 逻辑与 && 并且 ; 命令分隔符 管道符 | 前一个命令执行结果,作为后一个命令执行对象 netstat -an | grep 80 | wc -l 用 netstat 的查询结果作为对象,再用 grep 查询包含80关键字的行,再用 wc 统计行数 命令1 | 命令2 # 第一条命令需正确执行 通配符 ? 匹配一个任意字符 * 匹配0个或任意多个字符,匹配任何内容 [] 匹配任意括号中的一个字符[abc]匹配a或者b或者c [-] 匹配括号中一个范围[0-9] 匹配0-9任意一个数 [^] 匹配括号中一个范围[^0-9] 匹配不是数字的字符 特殊符号 `` 和 $() # aa=`ls` == aa=$(ls) '' # 字符串 "" # 可识别特殊符号 # # 注释符号 $ # 调用变量 \ # 转义符 vim编辑器 vim +3 xxx.txt # 打开文件光标定位到第三行 vim + xxx.txt # 打开文件光标定位最后一行 vim aa bb cc # 同时打开多个文件:n切换下个文件 :prev和:N切换上一文件 :w 保存 :q 退出 :! 强制执行 : ls 列出打开的文件 :n 下一个 :N 上一个 :14 定位行 /xxx 查询xxx字符串 ?xxx 光标处向前查询 hjkl 光标移动 用户和用户组 groupadd sexy # 创建用户组 groupadd -g 888 sexy # 创建用户组指定编号 useradd -g sexy sdf # 创建用户并加入用户组 # 未指定用户组系统会默认创建同名的用户组 useradd -d /home/xxx jzmb # 创建用户并指定用户目录(默认会创建同名目录) usermod -l newuser sdf # 修改用户名 usermod -c 注释 sdf # 给用户添加注释 usermod -g sexy sdf # 切换用户组到sexy userdel -r sdf # -r删除文件并删除用户 passwd -l sdf # 锁定用户 passwd -u sdf # 解锁用户 passwd -d sdf # 免密登录 查看所有进程 ps aux ps - le |
查看磁盘情况
1 2 3 4 5 6 7 8 9 | df -hl 查看磁盘剩余空间 df -h 查看每个根路径的分区大小 du -sh [目录名] 返回该目录的大小 du -sm [文件夹] 返回该文件夹总M数 du -h [目录名] 查看指定文件夹下的所有文件大小(包含子文件夹) |
查看目录文件大小
1 | du --max-depth=1 -h |
依赖查询是否安装
ldconfig -p | grep 依赖名称
查看sftp登录日志
1 2 3 | vim /etc/rsyslog .conf auth,authpriv.*,local5.* /var/log/sftp .log |
1 2 3 4 5 6 7 8 | # 给目录添加 用户:用户组 权限 chown sftpadmin:sftpgroup /data/sftp/sftpadmin/upload/ # 给目录及以下所有文件目录添加 用户:用户组 权限 chown -R sftpadmin:sftpgroup /data/sftp/sftpadmin/upload/ # 挂载卸载目录 mount /dev/vdb1 /data umount -l /data |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
2018-03-27 Python3 requests库基本使用
2018-03-27 Python3 urllib库常用方法