{"id":18248038,"url":"https://github.com/hourout/linux-command-zh","last_synced_at":"2025-07-31T16:08:27.451Z","repository":{"id":47896907,"uuid":"198165326","full_name":"Hourout/Linux-Command-ZH","owner":"Hourout","description":"Linux 最常用命令！","archived":false,"fork":false,"pushed_at":"2021-03-17T06:37:29.000Z","size":286,"stargazers_count":14,"open_issues_count":0,"forks_count":6,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-03-20T14:56:10.322Z","etag":null,"topics":["git-command","linux","linux-command","linux-command-zh"],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Hourout.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-07-22T06:55:44.000Z","updated_at":"2024-08-11T14:11:38.000Z","dependencies_parsed_at":"2022-08-20T15:00:29.015Z","dependency_job_id":null,"html_url":"https://github.com/Hourout/Linux-Command-ZH","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hourout%2FLinux-Command-ZH","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hourout%2FLinux-Command-ZH/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hourout%2FLinux-Command-ZH/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hourout%2FLinux-Command-ZH/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Hourout","download_url":"https://codeload.github.com/Hourout/Linux-Command-ZH/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247202950,"owners_count":20900874,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["git-command","linux","linux-command","linux-command-zh"],"created_at":"2024-11-05T09:35:19.747Z","updated_at":"2025-04-04T15:31:54.131Z","avatar_url":"https://github.com/Hourout.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Linux Command ZH\n\n| [Git](/document/git_zh.md) | [Docker](/document/docker.md) |\n\nLinux 最常用命令！\n\nLinux是目前应用最广泛的服务器操作系统，基于Unix，开源免费，由于系统的稳定性和安全性，市场占有率很高，几乎成为程序代码运行的最佳系统环境。\n\nlinux不仅可以长时间的运行我们编写的程序代码，还可以安装在各种计算机硬件设备中，如手机、路由器等，Android程序最底层就是运行在linux系统上的。\n\n## linux的目录结构\n\n![](https://github.com/Hourout/Linux-Command-ZH/blob/master/image/linux1.png)\n\n- bin  (binaries)存放二进制可执行文件\n- sbin  (super user binaries)存放二进制可执行文件，只有root才能访问\n- etc (etcetera)存放系统配置文件\n- usr  (unix shared resources)用于存放共享的系统资源\n- home 存放用户文件的根目录\n- root  超级用户目录\n- dev (devices)用于存放设备文件\n- lib  (library)存放跟文件系统中的程序运行所需要的共享库及内核模块\n- mnt  (mount)系统管理员安装临时文件系统的安装点\n- boot 存放用于系统引导时使用的各种文件\n- tmp  (temporary)用于存放各种临时文件\n- var  (variable)用于存放运行时需要改变数据的文件\n\n## linux常用命令\n\n命令格式：命令  -选项  参数 （选项和参数可以为空）\n\n如：ls  -la  /usr\n\n- ### 操作文件及目录\n\n| 命令 | 参数 | 示例 | 说明 |\n|--- |--- |--- |--- |\n| cd |   | cd /home | 切换目录 |\n| pwd |   | pwd | 显示当前工作目录目录 |\n| touch |   | touch 1.txt | 创建空文件 |\n| mkdir |   | mkdir testdir | 创建一个新目录 |\n|   | -p | mkidr -p dir1/dir2/dir3/ | 创建多级目录，父目录不存在情况下先生成父目录 |\n| cp |   | cp 1.txt | 复制文件或目录 |\n|   | -r | cp -r dir1/ | 递归处理，将指定目录下的文件与子目录一并拷贝 |\n| mv |   | mv dir1 dir2 | 移动文件或目录、文件或目录改名 |\n| rm |   | rm 1.txt | 删除文件 |\n|   | -r | rm -rf dir1 | r同时删除该目录下的所有文件 |\n|   | -f | rm -rf dir1 | f强制删除文件或目录 |\n| rmdir |   | rmdir dir1 | 删除空目录 |\n| cat |   | cat 1.txt | 显示文本文件内容 |\n| more |   | more 1.txt | 分页显示文本文件内容，可前后翻页，空格向后，b向前 |\n| less |   | less 1.txt\t| 分页显示文本文件内容，可前后翻页，空格向后，b向前，支持底行模式（后面介绍） |\n| head |   | head 1.txt | 查看文本开头部分，默认十行 |\n|   | -[num] | head -20 1.txt | 查看文本开头部分指定行数 |\n| tail |   | tail 1.txt | 查看文本结尾部分，默认十行 |\n|   | -[num] | tail -20 1.txt | 查看文本结尾部分指定行数 |\n|   | -f | tail -f 1.txt | 循环滚动读取文件并动态显示在屏幕上，根据文件属性追踪 |\n|   | -F | tail -F 1.txt | 循环滚动读取文件并动态显示在屏幕上，文件文件名追踪 |\n| wc |   | wc 1.txt | 统计文本的行数、字数、字符数 |\n|   | -m | wc -m 1.txt | 字符数 |\n|   | -w | wc -w 1.txt | 文本字数 |\n|   | -l | wc -l 1.txt | 文本行数 |\n| find | -name | find / -name 1.txt | 在文件系统中的指定目录下查找指定的文件 |\n| grep |   | grep aaa 1.txt | 在指定文件中查找包含指定内容的行，例：在1.txt中查找包含aaa的所有行 |\n| ln |   | ln 1.txt 1_bak.txt | 建立链接文件 |\n|   | -s | ln -s 1.txt 1_bak.txt | 对源文件建立符号连接，而非硬连接 |\n\n- ### 系统常用命令\n\n| 命令 | 参数 | 示例 | 说明 |\n|--- |--- |--- |--- |\n| top |   | top | 显示当前系统中耗费资源最多的进程 |\n| date |   | date | 显示系统当前时间 |\n| ps |   |   | 较少单独使用，配参数根据需求，ps -ef 或者ps-aux |\n|   | -e /-A | ps -e | 显示所有进程，环境变量 |\n|   | -f | ps -ef | 全格式显示 |\n|   | -a | ps -a | 显示所有用户的所有进程（包括其它用户） |\n|   | -u | ps -au | 按用户名和启动时间的顺序来显示进程 |\n|   | -x | ps -aux | 显示无控制终端的进程 |\n| kill | -9 | kill -9 pid | 强制杀死一个进程 |\n| df |   | df | 显示文件系统磁盘空间的使用情况 |\n|   | -h | df -h | 以人类可读的方式显示，Kb，Mb，GB等 |\n| du |   |   | 显示指定的目录及其子目录已使用的磁盘空间的总和 |\n|   | -s | du -s * | 进显示指定目录的总和，星号当前目录下表示所有 |\n|   | -h | du -sh * | 以人类可读的方式显示，Kb，Mb，GB等 |\n| free |   | free | 显示当前内存和交换空间的使用情况 |\n| ifconfig |   | ifconfig | 网卡网络配置，常用于查看当前IP地址 |\n|   |   | ifconfig eth0 192.168.12.22 | 临时修改系统IP（重启后失效） |\n| ping |   | ping baidu.com | 测试网络的连通性 |\n| hostname |   | hostname | 查看主机名 |\n| shutdown | -r | shutdown -r | 先关机，再重启 |\n|   | -h | shutdown -h | 关机后不重启 |\n| halt |   | halt | 关机后关闭电源，相当于shutdown -h |\n| reboot |   | reboot | 重新启动 相当于shutdown -r |\n\n- ### 压缩解压缩\n\n| 命令 | 参数 | 示例 | 说明 |\n|--- |--- |--- |--- |\n| gzip |   | gzip 1.txt | 压缩后面的文件或者文件夹 |\n|   | -d | gzip -d 1.txt.gz | 解压后面的压缩文件 |\n|   | -[num] | gzip -9 1.txt | 用指定的数字num调整压缩的速度，-1或--fast表示最快压缩方法（低压缩比），-9或--best表示最慢压缩方法（高压缩比）。系统缺省值为6 |\n| tar | -c | tar -cvf 1.tar 1.txt | 建立一个压缩文件的参数指令，例，将1.txt压缩为1.tar，也可指定多个文件或文件夹 |\n|   | -x | tar -xvf 1.tar 1.txt | 解开一个压缩文件的参数指令 |\n|   | -z | tar -zcvf 1.tar.gz 1.txt / tar -zxvf 1.tar.gz 1.txt | 是否需要用 gzip ，使用gzip压缩或解压 |\n|   | -v |   | 压缩的过程中显示文件 |\n|   | -f |   | 使用档名，在 f 之后要立即接档名 |\n\n- ### 文件权限操作\nlinux文件权限的描述格式解读\n\n![](https://github.com/Hourout/Linux-Command-ZH/blob/master/image/linux2.png)\n\nr 可读权限，w可写权限，x可执行权限（也可以用二进制表示  111 110 100  --\u003e  764）\n\n- 第1位：文件类型（d 目录，- 普通文件，l 链接文件）\n- 第2-4位：所属用户权限，用u（user）表示\n- 第5-7位：所属组权限，用g（group）表示\n- 第8-10位：其他用户权限，用o（other）表示\n- 第2-10位：表示所有的权限，用a（all）表示\n\n| 命令 | 参数 | 示例 | 说明 |\n|--- |--- |--- |--- |\n| chmod |   | chmod u+r 1.txt | 修改文件或目录的权限，u表示当前用户，g表示同组用户，o表示其他用户，a表示所有用户，r表示可读，w表示可写，x表示可执行；例：修改1.txt文件给当前用户添加可执行权限 |\n|   | -R | chmod -R u+r dir1 | 修改指定目录及其子目录的所有文件的权限 |\n|   | 三位数字 | chmod 764 1.sh | 直接指定文件的权限，7：表示可读可写可执行，4+2+1；6：表示可读可写，4+2；... |\n| chown |   | chown user1:group1 1.txt | 修改文件的所属用户和组；例：将1.txt文件的所属用户指定为user1，组为group1 |\n|   | -R | chown -R user1:group1 1.txt | 修改目录下所有文件及子目录的所属用户和组，用数字来表示权限（r=4，w=2，x=1，-=0）|\n\n- ### linux系统常用快捷键及符号命令\n\n| 命令 | 参数 | 示例 | 说明 |\n|--- |--- |--- |--- |\n| ctrl + c |   |   | 停止进程 |\n| ctrl + l |   |   | 清屏 |\n| ctrl + r |   |   | 搜索历史命令 |\n| ctrl + q |   |   | 退出 |\n| tab |   |   | 自动补全 |\n| \u003e |   | echo \"haha\" \u003e 1.txt | 将前一条命令的输出，写入到后面的文本中，将文本清空，然后写入 |\n| \u003e\u003e |   | echo \"lala\" \u003e\u003e 1.txt | 将前一条命令的输出，写入到后面的文本中，不清空文本，追加到文本最后 |\n| | |   | cat 1.txt | grep 'hello' | 管道命令，以前一个命令的输出作为输入，然后进行运算，例：打印1.txt中带有hello字符串的行 |\n| * |   |   | 通配符，指所有 |\n\n- ### vim编辑器\n\nvi / vim是Linux上最常用的文本编辑器而且功能非常强大。只有命令，没有菜单，下图表示vi命令的各种模式的切换图。\n\n![](https://github.com/Hourout/Linux-Command-ZH/blob/master/image/linux3.png)\n\n- 修改文本\n\n| 命令 | 说明 |\n|--- |--- |\n| i | 在光标前插入 |\n| I | 在光标当前行开始插入 |\n| a | 在光标后插入 |\n| A | 在光标当前行末尾插入 |\n| o | 在光标当前行的下一行插入新行 |\n| O | 在光标当前行的上一行插入新行 |\n| :wq | 保存并退出 |\n| q | 退出程序 |\n| q! | 强制退出 |\n| w | 保存文件 |\n| wq filename | 保存为指定文件名并退出 |\n\n- 定位命令\n\n| 命令 | 说明 |\n|--- |--- |\n| :set nu | 显示行号 |\n| :set nonu | 取消行号 |\n| gg | 跳到首行 |\n| G | 跳到末行 |\n| :n | 跳到第n行 |\n\n- 替换和取消命令\n\n| 命令 | 说明 |\n|--- |--- |\n| u | undo，取消上一步操作 |\n| Ctrl + r | redo，返回到undo之前 |\n| r | 替换光标所在处的字符 |\n| R | 从光标所在处开始替换，按Esc键结束 |\n\n- 删除命令\n\n| 命令 | 说明 |\n|--- |--- |\n| x | 删除光标所在处字符 |\n| nx | 删除光标所在处后的n个字符 |\n| dd | 删除光标所在行。ndd删除n行 |\n| dG | 删除光标所在行到末尾行的所以内容 |\n| D | 删除光标所在处到行尾的内容 |\n| :5,7d | 删除指定范围的行 |\n\n- 常用快捷键\n\n| 命令 | 说明 |\n|--- |--- |\n| Shift+ zz | 保存退出，与“:wq”作用相同 |\n| v | 进入字符可视模式 |\n| V | 进入行可视模式 |\n| Ctrl + v | 进入块可视模式 |\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhourout%2Flinux-command-zh","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhourout%2Flinux-command-zh","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhourout%2Flinux-command-zh/lists"}