Linux 是目前应用最广泛的服务器操作系统,基于 Unix,开源免费,由于系统的稳定性和安全性,市场占有率很高,几乎成为程序代码运行的最佳系统环境。linux 不仅可以长时间的运行我们编写的程序代码,还可以安装在各种计算机硬件设备中,如手机、路由器等,Android 程序最底层就是运行在 linux 系统上的。

# 一、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) 用于存放运行时需要改变数据的文件

# 二、linux 常用命令

  • 命令格式:命令 - 选项 参数 (选项和参数可以为空)
  • 如:ls -la /usr

2.1 操作文件及目录

命令参数示例说明
cdcd /home切换目录
pwdpwd显示当前工作目录目录
touchtouch 1.txt创建空文件
mkdirmkdir testdir创建一个新目录
-pmkidr -p dir1/dir2/dir3/创建多级目录,父目录不存在情况下先生成父目录
cpcp 1.txt复制文件或目录
-rcp -r dir1/递归处理,将指定目录下的文件与子目录一并拷贝
mvmv dir1 dir2移动文件或目录、文件或目录改名
rmrm 1.txt删除文件
-r-frm -rf dir1r 同时删除该目录下的所有文件,f 强制删除文件或目录
rmdirrmdir dir1删除空目录
catcat 1.txt显示文本文件内容
moremore 1.txt分页显示文本文件内容,可前后翻页,空格向后,b 向前
lessless 1.txt分页显示文本文件内容,可前后翻页,空格向后,b 向前,支持底行模式(后面介绍)
headhead 1.txt查看文本开头部分,默认十行
-[num]head -20 1.txt查看文本开头部分指定行数
tailtail 1.txt查看文本结尾部分,默认十行
-[num]tail -20 1.txt查看文本结尾部分指定行数
-ftail -f 1.txt循环滚动读取文件并动态显示在屏幕上,根据文件属性追踪
-Ftail -F 1.txt循环滚动读取文件并动态显示在屏幕上,文件文件名追踪
wcwc 1.txt统计文本的行数、字数、字符数
-mwc -m 1.txt字符数
-wwc -w 1.txt文本字数
-lwc -l 1.txt文本行数
find-namefind / -name 1.txt在文件系统中的指定目录下查找指定的文件
grepgrep aaa 1.txt在指定文件中查找包含指定内容的行,例:在 1.txt 中查找包含 aaa 的所有行
lnln 1.txt 1_bak.txt建立链接文件,
-sln -s 1.txt 1_bak.txt对源文件建立符号连接,而非硬连接

# 2.2 系统常用命令

命令参数示例说明
toptop显示当前系统中耗费资源最多的进程
datedate显示系统当前时间
ps较少单独使用,配参数根据需求,ps -ef 或者 ps-aux
-e /-Aps -e显示所有进程,环境变量
-fps -ef全格式显示
-aps -a显示所有用户的所有进程(包括其它用户)
-ups -au按用户名和启动时间的顺序来显示进程
-xps -aux显示无控制终端的进程
kill-9kill -9 pid强制杀死一个进程
dfdf显示文件系统磁盘空间的使用情况
-hdf -h以人类可读的方式显示,Kb,Mb,GB 等
du显示指定的目录及其子目录已使用的磁盘空间的总和
-sdu -s *进显示指定目录的总和,* 当前目录下表示所有
-hdu -sh *以人类可读的方式显示,Kb,Mb,GB 等
freefree显示当前内存和交换空间的使用情况
ifconfigifconfig网卡网络配置,常用于查看当前 IP 地址
ifconfig eth0 192.168.12.22临时修改系统 IP(重启后失效)
pingping baidu.com测试网络的连通性
hostnamehostname查看主机名
shutdown-rshutdown -r先关机,再重启
-hshutdown -h关机后不重启
halthalt关机后关闭电源,相当于 shutdown -h
rebootreboot重新启动 相当于 shutdown -r

# 2.3 压缩解压缩

命令参数示例说明
gzipgzip 1.txt压缩后面的文件或者文件夹
-dgzip -d 1.txt.gz解压后面的压缩文件
-[num]gzip -9 1.txt用指定的数字 num 调整压缩的速度,-1 或–fast 表示最快压缩方法(低压缩比),-9 或–best 表示最慢压缩方法(高压缩比)。系统缺省值为 6
tar-ctar -cvf 1.tar 1.txt建立一个压缩文件的参数指令,例,将 1.txt 压缩为 1.tar,也可指定多个文件或文件夹
-xtar -xvf 1.tar 1.txt解开一个压缩文件的参数指令
-ztar -zcvf 1.tar.gz 1.txttar -zxvf 1.tar.gz 1.txt是否需要用 gzip ,使用 gzip 压缩或解压
-v压缩的过程中显示文件
-f使用档名,在 f 之后要立即接档名

# 2.4 文件权限操作

  • 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)表示

命令参数实例说明
chmodchmod u+r 1.txt修改文件或目录的权限 u 表示当前用户,g 表示同组用户,o 表示其他用户,a 表示所有用户 r 表示可读,w 表示可写,x 表示可执行例:修改 1.txt 文件给当前用户添加可执行权限
-Rchmod -R u+r dir1修改指定目录及其子目录的所有文件的权限
三位数字chmod 764 1.sh直接指定文件的权限 7:表示可读可写可执行,4+2+16:表示可读可写,4+2…
chownchown user1:group1 1.txt修改文件的所属用户和组例:将 1.txt 文件的所属用户指定为 user1,组为 group1
-Rchown -R user1:group1 1.txt修改目录下所有文件及子目录的所属用户和组用数字来表示权限(r=4,w=2,x=1,-=0)

# 三、linux 系统常用快捷键及符号命令

命令参数实例说明
ctrl + c停止进程
ctrl + l清屏
ctrl + r搜索历史命令
ctrl + q退出
tab自动补全
>echo “haha” > 1.txt将前一条命令的输出,写入到后面的文本中将文本清空,然后写入
>>echo “lala” >> 1.txt将前一条命令的输出,写入到后面的 文本中不清空文本,追加到文本最后
|cat 1.txt | grep ‘hello’管道命令,以前一个命令的输出作为输入,然后进行运算例:打印 1.txt 中带有 hello 字符串的行
*通配符,指所有

# 四、vim 编辑器

vi /vim 是 Linux 上最常用的文本编辑器而且功能非常强大。只有命令,没有菜单,下图表示 vi 命令的各种模式的切换图。

4.1 修改文本

i在光标前插入
I在光标当前行开始插入
a在光标后插入
A在光标当前行末尾插入
o在光标当前行的下一行插入新行
O在光标当前行的上一行插入新行
:wq保存并退出

4.2 定位命令

:set nu显示行号
:set nonu取消行号
gg跳到首行
G跳到末行
:n跳到第 n 行

4.3 替换和取消命令

uundo,取消上一步操作
Ctrl + rredo,返回到 undo 之前
r替换光标所在处的字符
R从光标所在处开始替换,按 Esc 键结束

4.3 删除命令

x删除光标所在处字符
nx删除光标所在处后的 n 个字符
dd删除光标所在行。ndd 删除 n 行
dG删除光标所在行到末尾行的所以内容
D删除光标所在处到行尾的内容
:5,7d删除指定范围的行

4.4 常用快捷键

Shift+ zz保存退出,与 “:wq” 作用相同
v进入字符可视模式
V进入行可视模式
Ctrl + v进入块可视模式