[Linux服务器] Linux 环境常用命令

708 0
Honkers 2025-8-7 06:37:07 | 显示全部楼层 |阅读模式

Linux 环境常用命令有很多,这次我们系统总结一些常用的命令:

一、关机相关命令

1、shutdown 会给系统计划一个时间关机。它可以被用于停止、关机、重启机器。  shutdown -P now   ### 关闭机器并断电  shutdown -H now   ### 停止机器  shutdown -r09:35    ### 在 09:35am 重启机器  shutdown -r now  立刻重启机器 shutdown -r +5     将在5分钟后重启 shutdown -c   要取消即将进行的关机
init 0  静默关机 和 shutdown  的区别如下

日常关机:使用 shutdown -P now,确保系统优雅关闭,保护数据安全。
服务器脚本:若需要在脚本中静默关机,可使用 init 0,但需确保进程已正确处理。
systemd 系统:推荐使用 systemctl poweroff(关机)或 systemctl reboot(重启),这是现代 Linux 系统的标准命令。
紧急情况:若系统无响应,可使用 shutdown -P now -f 强制快速关机(-f 跳过文件系统检查),但可能导致数据损坏,谨慎使用。 2、halt 命令通知硬件来停止所有的 CPU 功能,但是仍然保持通电。你可以用它使系统处于低层维护状态。注意在有些情况会它会完全关闭系统。  halt ### 停止机器  halt -p ### 关闭机器  halt --reboot ### 重启机器 3、poweroff 会发送一个 ACPI 信号来通知系统关机。  poweroff     ### 关闭机器  poweroff --halt     ### 停止机器  poweroff --reboot     ### 重启机器 4、reboot 命令 reboot 通知系统重启 reboot ### 重启机器 reboot --halt ### 停止机器 reboot -p ### 关闭机器 二、文件与目录管理命令 ls: 列出目录 ---ll cd:切换目录pwd:显示目前的目录 mkdir:创建一个新的目录 rmdir:删除一个空的目录 cp: 复制文件或目录 -----scp 网络复制
  1. scp /data/myimages.tar 10.0.0.7:/data
  2. # cp -r 源文件夹 目标文件夹
  3. cp -r index/ shzhfy/
  4. cp example.txt /usr/local/nginx/html/
  5. #批量复制
  6. cp -r folder1/ folder2/ folder3 /target/path/
复制代码

rm: 移除文件或目录

mv: 移动文件与目录,或修改文件与目录的名称
  1. #比如移动当前文件到其他目录
  2. mv user-system.jar bak/user-system.jar
  3. #将文件移动到上一个目录
  4. mv filename ..
  5. #批量移动
  6. mv /path/to/source/file1.txt /path/to/source/file2.jpg /path/to/destination/
复制代码
三、硬链接与软链接 1 硬连接 硬连接指通过索引节点来进行连接。在 Linux 的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(I node Index)。在 Linux 中,多个文件名指向同一索引节点是存在的。比如:A 是 B 的硬链接(A 和 B 都是文件名),则 A 的目录项中的 in ode 节点号与 B 的目录项中的 inode 节点号相同,即一个 inode 节点对应两个不同的文件名,两个文件名指向同一个文件,A 和 B 对文件系 统来说是完全平等的。删除其中任何一个都不会影响另外一个的访问。 硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该 目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的 连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除2 软连接 另外一种连接称之为符号连接(Symbolic Link),也叫软连接。软链接文件有类似于 Windows 的快捷方式。它实际上是一个特殊的文件。在符 号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。比如:A 是 B 的软链接(A 和 B 都是文件名),A 的目录项中的 inode 节点号与 B 的目录项中的 inode 节点号不相同,A 和 B 指向的是两个不同的 inode,继而指向两块不同的数据块。但是 A 的数据块中 存放的只是 B 的路径名(可以根据这个找到 B 的目录项)。A 和 B 之间是“主从”关系,如果 B 被删除了,A 仍然存在(因为两个是不同的文 件),但指向的是一个无效的链接。 例如: $touch a #创建一个测试文件 a $ ln a b #创建 a 的一个硬连接文件 b --echo 123 > a ##a,b 的内容同时变为 123 $ ln -s a c #创建 a 的一个符号连接文件 c $ ls -li # -i 参数显示文件的 inode 节点信息 四、最常用的是 cd 命令 cd 进入用户主目录; cd ~ 进入用户主目录; cd - 返回进入此目录之前所在的目录; cd .. 返回上级目录(若当前目录为“/“,则执行完后还在“/";".."为上级目录的意思); cd ../.. 返回上两级目录; 五、新建文件夹和文件:mkdir touch mkdir 创建文件夹 mkdir dirname 直接跟文件夹名,可在当前目录下创建文件夹 mkdir /opt/lamp/dirname 可跟路径 mkdir -p /opt/lam/dirname 假如 lam 不存在,需要用-p 才可以创建该文件夹 touch 新建文件 touch dilename 可直接跟文件名在当前目录下创建新的文件 六、cat/less/more/tail 等文件查看命令 -n 或-number:有 1 开始对所有输出的行数编号; -b 或--number-nonblank:和-n 相似,只不过对于空白行不编号; -s 或--squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行; -A:显示不可打印字符,行尾显示“$”; -e:等价于"-vE"选项; -t:等价于"-vT"选项; -e:文件内容显示完毕后,自动退出; -f:强制显示文件; -g:不加亮显示搜索到的所有关键词,仅显示当前显示的关键字,以提高显示速度; -l:搜索时忽略大小写的差异; -N:每一行行首显示行号; -s:将连续多个空行压缩成一行显示; -S:在单行显示较长的内容,而不换行显示; -x<数字>:将 TAB 字符显示为指定个数的空格字符。 -<数字>:指定每屏显示的行数; -d:显示“[press space to continue,'q' to quit.]”和“[Press 'h' for instructions]”; -c:不进行滚屏操作。每次刷新这个屏幕; -s:将多个空行压缩成一行显示; -u:禁止下划线; +<数字>:从指定数字的行开始显示。 按 Space 键:显示文本的下一屏内容。 按 Enier 键:只显示文本的下一行内容。 按斜线符|:接着输入一个模式,可以在文本中寻找下一个相匹配的模式。 按 H 键:显示帮助屏,该屏上有相关的帮助信息。 按 B 键:显示上一屏内容。 按 Q 键:退出 rnore 命令。 --retry:即是在tail命令启动时,文件不可访问或者文件稍后变得不可访问,都始终尝试打开文件。使用此选项时需要与选项“——follow=name” 连用; -c 或——bytes=:输出文件尾部的 N(N 为整数)个字节内容; -f 或;--follow:显示文件最新追加的内容。“name”表示以文件名的方式监视文件的变化。“-f”与“-fdescriptor”等效; -F:与选项“-follow=name”和“--retry"连用时功能相同; -n 或——line=:输出文件的尾部 N(N 位数字)行内容。 --pid=<进程号>:与“-f”选项连用,当指定的进程号的进程终止后,自动退出 tail 命令; -q 或——quiet 或——silent:当有多个文件参数时,不输出各个文件名; -s<秒数>或——sleep-interal=<秒数>:与“-f”选项连用,指定监视文件变化时间隔的秒数; -v 或——verbose:当有多个文件参数时,总是输出各个文件名; 一般 tail 命令最常用的-n 和-f,例: tail filename 读取 filename 最后 10 行内容 tail -f filename 实时动态读取 filename 最后 10 行内容 tail -20f filename 实时动态读取 filename 最后 20 行内容 tail -n 100 文件名.log # 明确指定行数‌: tail -100 文件名.log #简写 tail -n 100 文件名.log | grep "error" # 仅显示含“error”的行‌ cat 和 less 及 more 指令相似,cat 是一次性读取所有内容,文件内容较多时速度较慢。less 与 more 的区别在于:less 可以 前后翻页查看,more 只能向前翻页查看。 tail 则用于实时获取 log 信息,从后向前读取内容 上述四种命令均可跟 grep 搭配使用 cat/less/tail |grep mysql 6.1、询文件中的字符串通常使用 grep 命令 基础命令格式 grep "搜索字符串" 文件名 1)精准查找 grep "connection_timeout" app.log 2)忽略大小写 grep -i "error" app.log 3)匹配次数 grep -c "warning" app.log 4)正则模糊查询 grep "^ERR" app.log 5)匹配前后各一行 grep -C 1 "restart" app.log grep -A 2 "critical" app.log//后 grep -B 1 "timeout" app.log//前 七、查看文件大小的命令 du/df du -sh * 显示当前目录下所有文件的大小 du -sh filename 显示该文件大小 du -sh 显示当前目录所占空间大小 -s 或 仅显示总计,只列出最后加总的值。 -h 或 以 K,M,G 为单位,提高信息的可读性。 df 显示磁盘占用信息 直接 df 默认一 k 为单位 df -lh 显示本地系统的占用信息,以 K,M,G 为单位 八、重点--文本编辑器 vi vi 命令是 UNIX 操作系统和类 UNIX 操作系统中最通用的全屏幕纯文本编辑器。 Linux 中的 vi 编辑器叫 vim,它是 vi 的增强版(vi Improved),与 vi 编辑器完全兼容,而且实现了很多增强功能。 vi 编辑器支持编辑模式和命令模式,编辑模式下可以完成文本的编辑功能,命令模式下可以完成对文件的操作命令,要正确使用 vi 编辑器就必须 熟练掌握着两种模式的切换。 默认情况下,打开 vi 编辑器后自动进入命令模式。从编辑模式切换到命令模式使用“esc”键,从命令模式切换到编辑模式使用“A”、“a”、 “O”、“o”、“I”、“i”键。 vi 编辑器提供了丰富的内置命令,有些内置命令使用键盘组合键即可完成,有些内置命令则需要以冒号“:”开头输入。常用内置命令如下: 1 Ctrl+u:向文件首翻半屏; 2 Ctrl+d:向文件尾翻半屏; 3 Ctrl+f:向文件尾翻一屏; 4 Ctrl+b:向文件首翻一屏; 5 Esc:从编辑模式切换到命令模式; 6 ZZ:命令模式下保存当前文件所做的修改后退出 vi; 7 :行号:光标跳转到指定行的行首; 8 :$:光标跳转到最后一行的行首; 9 x 或 X:删除一个字符,x 删除光标后的,而 X 删除光标前的; 10 D:删除从当前光标到光标所在行尾的全部字符; 11 dd:删除光标行正行内容; 12 ndd:删除当前行及其后 n-1 行; 13 nyy:将当前行及其下 n 行的内容保存到寄存器?中,其中?为一个字母,n 为一个数字; 14 p:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的下方; 15 P:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的上方; 16 /字符串:文本查找操作,用于从当前光标所在位置开始向文件尾部查找指定字符串的内容,查找的字符串会被加亮显示; 17 ?name:文本查找操作,用于从当前光标所在位置开始向文件头部查找指定字符串的内容,查找的字符串会被加亮显示; 18 a,bs/F/T:替换文本操作,用于在第 a 行到第 b 行之间,将 F 字符串换成 T 字符串。其中,“s/”表示进行替换操作; 19 a:在当前字符后添加文本; 20 A:在行末添加文本; 21 i:在当前字符前插入文本; 22 I:在行首插入文本; 23 o:在当前行后面插入一空行; 24 O:在当前行前面插入一空行; 25 :wq:在命令模式下,执行存盘退出操作; 26 :w:在命令模式下,执行存盘操作; 27 :w!:在命令模式下,执行强制存盘操作; 28 :q:在命令模式下,执行退出 vi 操作; 29 :q!:在命令模式下,执行强制退出 vi 操作; 30 :e 文件名:在命令模式下,打开并编辑指定名称的文件; 31 :n:在命令模式下,如果同时打开多个文件,则继续编辑下一个文件; 32 :f:在命令模式下,用于显示当前的文件名、光标所在行的行号以及显示比例; 33 :set nu:在命令模式下,用于在最左端显示行号; 34 :set nonu:在命令模式下,用于在最左端不显示行号; 35 :1,3y 复制第一行到第三行 36 :1,3d 删除第一行到第三行 37 :1,3s/str/str_new/g 替换第一行到第三行中的字符串 38 :1,3s/str/str_new 替换第一行到第三行中的字符串第一个字符 39 :1,3 g/str /d 删除第一行到第三行中含有这个字符串的行 九. 查看服务 netstat -nlpt|grep 80 查看该端口号是否被占用 free -m //查看 LINUX 内存剩余容量 ps 可以查看具体的进程信息,一般与管道符连接其他命令使用,如:grep ps 常用参数-ef/-aux,一般最常用还是-ef,例:ps -ef|grep mysql 查询 mysql 进程 top 也可查看进程信息,而且是动态显示 whoami 查看当前登陆用户 who 查看多少用户在使用系统 date 查看系统时间,可跟时间格式使用 cal 查看日历,可跟年份,查看指定的年份 chkconfig --list #查看系统服务启动 chkconfig iptables on #开机启动该服务 chkconfig iptables off #开机不启动该服务 service iptables start #启动该服务 service iptables restart #重启启该服务 ps -ef|grep mysql|grep -v grep|awk '{print $2}'ps -ef|grep mysql 是查询 mysql 服务的进程 |后的 grep -v grep 是匹配不包含 grep 的行awk 是取查询结果的第几列,awk '{print $2}'则是取第二列的值 grep 无参数则显示匹配的行 -c 显示匹配的行数 -v 显示不匹配的行 十. 杀掉进程 kill 命令 kill 最常用的参数是-9,用法:kill -9 进程号 即可强制杀掉该进程 统计命令 wc 常用的参数是 -l 用法:wc -l ,例: ps -ef|grep mysql|wc -l 统计查询出的 mysql 进程的行数 查找命令 find/locate/whereis/which find -name 后跟文件名,可查看文件所在目录,可跟 user,查看属于 user 的文件 find -name filename 查找 filename 所在目录 find -name name* 查找开头为 name 的文件所在目录 find -name *name 查找结尾为 name 的文件所在目录 find -name *name* 查找包含 name 字符串的文件所在目录 find -user faith 查看用户 faith 的文件 locate 用法与 find 基本相似,只是 locate 搜索速度较快些,locate 一般系统不会自带,需要安装,可用 yum 安装 whereis 只能搜索程序名 which 则是只查询 path 中的环境变量 十一. 压缩和解压命令 gzip/guzip zip/unzip tar gzip 和 gunzip 一般可用参数是-r,例: gzip test.txt 压缩文件 gzip -r test 压缩所有 test 下的子文件 gunzip test.gz 解压文件 zip 和 unzip 可用参数较多,例: zip test 不跟参数直接使用 zip -r test 递归压缩 test 下所有文件 比如,把logs文件夹压缩一下命令:zip logs.zip logs  或者  zip -r myfolder.zip myfolder 递归压缩:zip -r nginx.zip nginx/ 压缩单个文件: zip archive.zip file.txt   压缩多个文件:zip output_files.zip  /path/to/file1.txt /path/to/file2.txt 密码保护:zip -r -e output_folder.zip  /path/to/input_folder unzip test 不跟参数直接使用 unzip -n 解压时不覆盖已存在的文件 unzip -o 解压时覆盖已存在的文件 unzip -d 将文件解压到目录中去 tar 使用的较为多些,用法也多,最常用的是 zxcvf 几个参数,例: -c 创建新文档,就是代表压缩的意思 -x 解压文档 -f 使用归档文件 -z 使用 gzip 解压 -v 详细输出模式 最为常用的使用方法:tar -zcvf test.tar test 将 test 压缩为 test.tar 并输出详细信息 tar -zxvf test.tar 将 test.tar 解压缩,并输出详细信息
  1. -r:递归地将目录下的所有文件和子目录都打包到ZIP文件中。
  2. -q:安静模式,不显示压缩过程。
  3. -v:详细模式,显示压缩过程的详细信息。
  4. -u:更新ZIP文件,只添加新的文件和修改过的文件。
  5. -d:从ZIP文件中删除指定的文件。
  6. -l:列出ZIP文件中的文件信息。
  7. -9:使用最高级别的压缩(压缩率最高),但压缩速度最慢。
  8. -P:设置密码来保护压缩文件的内容。
  9. -s:分割ZIP文件为指定大小的多个文件,以便在存储和传输时更方便。
复制代码

这就是linux常用的基础命令,后续我们还会不断的丰富!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2026 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行