- 一、Linux简述
- 1、概述
- 2、目录结构
- 二、常用指令
- 1、操作文件及目录
- 2、系统常用指令
- 3、压缩解压缩
- 4、文件权限操作
- 5、常用快捷键及符号命令
- 6、系统信息
- 7、关机、重启、登出
- 8、文件和目录
- 三、vim编译器
- 1、修改文本
- 2、定位命令
- 3、替换和取消命令
- 4、删除命令
- 5、常用快捷键
- 四、参考资料
- 1、命令枚举
- 2、参考资料
- Linux是目前应用最广泛的服务器操作系统;
- 基于Unix,开源免费;
- 由于系统的稳定性和安全性,市场占有率很高,几乎成为程序代码运行的最佳系统环境;
- linux不仅可以长时间的运行我们编写的程序代码,还可以安装在各种计算机硬件设备中,如手机、路由器等,Android程序最底层就是运行在linux系统上的。
- bin (binaries)存放二进制可执行文件
- sbin (super user binaries)存放二进制可执行文件,只有root才能访问
- etc (etcetera)存放系统配置文件
- usr (unix shared resources)用于存放共享的系统资源
- home 存放用户文件的根目录
- root 超级用户目录
- dev (devices)用于存放设备文件
- lib (library)存放跟文件系统中的程序运行所需要的共享库及内核模块
- mnt (mount)系统管理员安装临时文件系统的安装点
- boot 存放用于系统引导时使用的各种文件
- tmp (temporary)用于存放各种临时文件
- var (variable)用于存放运行时需要改变数据的文件
命令格式:命令 - 选项 参数【命令和参数可以为空】
1、操作文件及目录| 指令 | 参数 | 示例 | 描述 |
|---|---|---|---|
| cat | cat 1.txt | 显示文本文件内容 | |
| more | more 1.txt | 分页显示文本文件内容,可以前后翻页,空格向后,b向前 | |
| less | less 1.txt | 分页显示文本文件内容,可以前后翻页,空格向后,b向前,支持底行模式 | |
| head | head 1.txt | 查看文本开头部分;默认十行 | |
| head | -[num] | head -20 1.txt | 查看文本开头部分指定行数 |
| tall | tall 1.txt | 查看文本结尾部分;默认十行 | |
| tall | -f | tall -f 1.txt | 循环滚动读取文件并动态显示在屏幕上;根据文件属性追踪 |
| tall | -F | tall -F 1.txt | 循环滚动读取文件并动态显示在屏幕上;文件文件名追踪 |
| wc | wc 1.txt | 统计文本的行数、字数、字符数 | |
| wc | -m | wc -m 1.txt | 字符数 |
| wc | -w | wc -w 1.txt | 文本字数 |
| wc | -l | wc -l 1.txt | 文本行数 |
| 指令 | 参数 | 示例 | 描述 |
|---|---|---|---|
| top | top | 显示当前系统中耗费资源最多的进程 | |
| data | data | 显示系统当前时间 | |
| ps | -e/-A | ps -e | 显示所有进程;环境变量 |
| ps | -f | ps -ef | 全格式显示 |
| ps | -a | ps -a | 显示所有用户的所有进程(包括其他用户) |
| ps | -u | ps -au | 按用户名和启动时间顺序显示进程 |
| ps | -x | ps -aux | 显示无控制终端的进程 |
| kill | -9 | kill -9 pid | 强制杀死一个进程 |
| 指令 | 参数 | 示例 | 描述 |
|---|---|---|---|
| gzip | gzip 1.txt | 压缩后面的文件或者文件夹 | |
| gzip | -d | gzip -d 1.txt gz | 解压后面的压缩文件 |
| tar | -c | tar -cvf 1.tar 1.txt | 建立一个压缩文件的参数指令;例如将1.txt压缩为1.tar,也可指定多个文件或者文件夹 |
| tar | -x | tar -cvf 1.tar 1.txt | 解开一个压缩文件的参数指令 |
| tar | -z | tar -zcvf[zxvf] 1.tar 1.txt | 是否需要用gzip,使用gzip压缩或者解压 |
| tar | -v | 压缩的过程中显示文件 | |
| tar | -f | 使用档名,在f之后要立即接档名 |
Linux文件权限的描述格式解读
- r 可读权限,w可写权限,x可执行权限(也可以用二进制表示 111 110 100 --> 764)
- 第1位:文件类型(d 目录,- 普通文件,l 链接文件)
- 第2-4位:所属用户权限,用u(user)表示
- 第5-7位:所属组权限,用g(group)表示
- 第8-10位:其他用户权限,用o(other)表示
- 第2-10位:表示所有的权限,用a(all)表示
| 指令 | 参数 | 示例 | 描述 |
|---|---|---|---|
| chmod | chmod u+r 1.txt | 修改文件或目录的权限;u表示当前用户;g表示同组用户;o表示其他用户;a表示所有用户;r表示可读;w表示可写;x表示可执行 | |
| chmod | -R | chmod -R u+r dir1 | 修改指定目录及其子目录的所有文件的权限 |
| chmod | 三位数字 | chmod 746 1.sh | 直接指定文件的权限。7:表示可读可写可执行,4+2+1;6:表示可读可写,4+2;… |
| 指令 | 参数 | 示例 | 描述 |
|---|---|---|---|
| Ctrl+C | 停止进程 | ||
| Ctrl+L | 清屏 | ||
| Ctrl+r | 搜索历史命令 | ||
| Ctrl+q | 退出 | ||
| tap | 自动补全 | ||
| > | echo “haha” >> 1.txt | 将前一条命令的输出,写入到后面的文本中;将文本清空,然后写入 | |
| >> | echo “haha” >> 1.txt | 将前一条命令的输出,写入到后面的文本中;不清空文本,追加到文本最后 | |
| * | 速配符,指所有 |
| 指令 | 描述 |
|---|---|
| arch | 显示机器的处理器架构 |
| uname -m | 显示机器的处理器架构 |
| uname -r | 显示正在使用的内核版本 |
| dmidecode -q | 显示硬件系统部件 - (SMBIOS / DMI) |
| cat /proc/cpuinfo | 显示CPU info的信息 |
| cat /proc/interrupts | 显示中断 |
| cat /proc/meminfo | 校验内存使用 |
| cat /proc/swaps | 显示哪些swap被使用 |
| cat /proc/version | 显示内核的版本 |
| cat /proc/net/dev | 显示网络适配器及统计 |
| cat /proc/mounts | 显示已加载的文件系统 |
| lspci -tv | 罗列 PCI 设备 |
| lsusb -tv | 显示 USB 设备 |
| date | 显示系统日期 |
| cal 2007 | 显示2007年的日历表 |
| clock -w | 将时间修改保存到 BIOS |
| 指令 | 描述 |
|---|---|
| shutdown -h now | 关闭系统 |
| init 0 | 关闭系统 |
| telinit 0 | 关闭系统 |
| shutdown -h hours:minutes & | 按预定时间关闭系统 |
| shutdown -c | 取消按预定时间关闭系统 |
| shutdown -r now | 重启 |
| reboot | 重启 |
| logout | 注销 |
| 指令 | 描述 |
|---|---|
| cd /home | 进入 ‘/ home’ 目录’ |
| cd … | 返回上一级目录 |
| cd …/… | 返回上两级目录 |
| cd | 进入个人的主目录 |
| cd ~user1 | 进入个人的主目录 |
| cd - | 返回上次所在的目录 |
| pwd | 显示工作路径 |
| ls | 查看目录中的文件 |
| ls -F | 查看目录中的文件 |
| ls -l | 显示文件和目录的详细资料 |
| ls -a | 显示隐藏文件 |
| ls [0-9] | 显示包含数字的文件名和目录名 |
| tree | 显示文件和目录由根目录开始的树形结构 |
| lstree | 显示文件和目录由根目录开始的树形结构 |
| mkdir dir1 | 创建一个叫做 ‘dir1’ 的目录’ |
| mkdir dir1 dir2 | 同时创建两个目录 |
| mkdir -p /tmp/dir1/dir2 | 创建一个目录树 |
| rm -f file1 | 删除一个叫做 ‘file1’ 的文件’ |
| rmdir dir1 | 删除一个叫做 ‘dir1’ 的目录’ |
| rm -rf dir1 | 删除一个叫做 ‘dir1’ 的目录并同时删除其内容 |
| rm -rf dir1 dir2 | 同时删除两个目录及它们的内容 |
| mv dir1 new_dir | 重命名/移动 一个目录 |
| cp file1 file2 | 复制一个文件 |
| cp dir/* | 复制一个目录下的所有文件到当前工作目录 |
| cp -a /tmp/dir1 . | 复制一个目录到当前工作目录 |
| cp -a dir1 dir2 | 复制一个目录 |
| cp -r dir1 dir2 | 复制一个目录及子目录 |
| ln -s file1 lnk1 | 创建一个指向文件或目录的软链接 |
| ln file1 lnk1 | 创建一个指向文件或目录的物理链接 |
| find / -name file1 | 从 ‘/’ 开始进入根文件系统搜索文件和目录 |
| find / -user user1 | 搜索属于用户 ‘user1’ 的文件和目录 |
| find /home/user1 -name *.bin | 在目录 ‘/ home/user1’ 中搜索带有’.bin’ 结尾的文件 |
| find /usr/bin -type f -atime +100 | 搜索在过去100天内未被使用过的执行文件 |
| find /usr/bin -type f -mtime -10 | 搜索在10天内被创建或者修改过的文件 |
| find / -name *.rpm -exec chmod 755 ‘{}’ | 搜索以 ‘.rpm’ 结尾的文件并定义其权限 | |
| find / -xdev -name *.rpm | 搜索以 ‘.rpm’ 结尾的文件,忽略光驱、捷盘等可移动设备 |
| locate *.ps | 寻找以 ‘.ps’ 结尾的文件 - 先运行 ‘updatedb’ 命令 |
| whereis halt | 显示一个二进制文件、源码或man的位置 |
| which halt | 显示一个二进制文件或可执行文件的完整路径 |
vi / vim是Linux上最常用的文本编辑器而且功能非常强大。只有命令,没有菜单,下图表示vi命令的各种模式的切换图
| 指令 | 描述 |
|---|---|
| i | 在光标前插入 |
| l | 在光标当前行开始插入 |
| a | 在光标后插入 |
| A | 在光标当前行末尾插入 |
| o | 在光标当前行的下一行插入新行 |
| O | 在光标当前行的上一行插入新行 |
| :wq | 保存并退出 |
| 指令 | 描述 |
|---|---|
| :set nu | 显示行号 |
| :set nonu | 取消行号 |
| gg | 调到首行 |
| G | 跳到末行 |
| :n | 跳到第n行 |
| 指令 | 描述 |
|---|---|
| u | undo;取消上一步操作 |
| Ctrl+r | redo,返回到undo之前 |
| r | 替换光标所在处的字符 |
| R | 从光标所在处开始替换,按Esc键结束 |
| 指令 | 描述 |
|---|---|
| x | 删除光标所在处字符 |
| nx | 删除光标所在处后的n个字符 |
| dd | 删除光标所在行,ndd删除n行 |
| dG | 删除光标所在行到末尾行的所有内容 |
| D | 删除光标所在处到行末尾的内容 |
| 5.7d | 删除指定范围的行 |
| 指令 | 描述 |
|---|---|
| shift+zz | 保存退出 |
| v | 进入字符可视模式 |
| V | 进入行可视模式 |
| Ctrl+v | 进入块可视模式 |
ls命令:
ls -a 列出目录所有文件,包含以.开始的隐藏文件 ls -A 列出除.及..的其它文件 ls -r 反序排列 ls -t 以文件修改时间排序 ls -S 以文件大小排序 ls -h 以易读大小显示 ls -l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来
cp命令:
-i 提示 -r 复制目录及目录内所有项目 -a 复制的文件与原文件时间一样
操作命令:
Enter 向下 n 行,需要定义。默认为 1 行 Ctrl+F 向下滚动一屏 空格键 向下滚动一屏 Ctrl+B 返回上一屏 = 输出当前行的行号 :f 输出文件名和当前行的行号 V 调用vi编辑器 !命令 调用Shell,并执行命令 q 退出more
less命令:
-i 忽略搜索时的大小写 -N 显示每行的行号 -o <文件名> 将less 输出的内容在指定文件中保存起来 -s 显示连续空行为一行 /字符串:向下搜索“字符串”的功能 ?字符串:向上搜索“字符串”的功能 n:重复前一个搜索(与 / 或 ? 有关) N:反向重复前一个搜索(与 / 或 ? 有关) -x <数字> 将“tab”键显示为规定的数字空格 b 向后翻一页 d 向后翻半页 h 显示帮助界面 Q 退出less 命令 u 向前滚动半页 y 向前滚动一行 空格键 滚动一行 回车键 滚动一页 [pagedown]: 向下翻动一页 [pageup]: 向上翻动一页
which命令:
which 查看可执行文件的位置。 whereis 查看文件的位置。 locate 配合数据库查看文件位置。 find 实际搜寻硬盘查询文件名称。
whereis命令:
-b 定位可执行文件。 -m 定位帮助文件。 -s 定位源代码文件。 -u 搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。
locate命令:
-l num(要显示的行数) -f 将特定的档案系统排除在外,如将proc排除在外 -r 使用正则运算式做为寻找条件
chmod命令:
常用参数: -c 当发生改变时,报告处理信息 -R 处理指定目录以及其子目录下所有文件 权限范围: u :目录或者文件的当前的用户 g :目录或者文件的当前的群组 o :除了目录或者文件的当前用户或群组之外的用户或者群组 a :所有的用户及群组 权限代号: r :读权限,用数字4表示 w :写权限,用数字2表示 x :执行权限,用数字1表示 - :删除权限,用数字0表示 s :特殊权限
df命令:
-a 全部文件系统列表 -h 以方便阅读的方式显示信息 -i 显示inode信息 -k 区块为1024字节 -l 只显示本地磁盘 -T 列出文件系统类型
du命令:
-a 显示目录中所有文件大小 -k 以KB为单位显示文件大小 -m 以MB为单位显示文件大小 -g 以GB为单位显示文件大小 -h 以易读方式显示文件大小 -s 仅显示总计 -c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和
ps命令:
-A 显示所有进程 a 显示所有进程 -a 显示同一终端下所有进程 c 显示进程真实名称 e 显示环境变量 f 显示进程间的关系 r 显示当前终端运行的进程 -aux 显示所有包含其它使用的进程
kill命令:
-l 信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称 -a 当处理当前进程时,不限制命令名和进程号的对应关系 -p 指定kill 命令只打印相关进程的进程号,而不发送任何信号 -s 指定发送信号 -u 指定用户
free命令:
-b 以Byte显示内存使用情况 -k 以kb为单位显示内存使用情况 -m 以mb为单位显示内存使用情况 -g 以gb为单位显示内存使用情况 -s<间隔秒数> 持续显示内存 -t 显示内存使用总合2、参考资料
Linux 最常用命令
Linux常用命令大全



