声明:由于未整理完,后续会继续发布!
Linux命令行
第一章:
Ubuntu 终端默认使用的是 bash
Tab 键:自动补全命令
打开终端: Ctrl + Alt + T
关闭终端: Ctrl + D = Ctrl+Shift+Q
1强行关闭当前运行程序: Ctrl + C
2暂停当前程序,暂停后按下任意键恢复运行:Ctrl + S
3将当前程序放到后台运行,恢复到前台为命令fg:Ctrl + Z
4将光标移至输入行头,相当于Home键:Ctrl + A
5将光标移至输入行末,相当于End键:Ctrl + E
6删除从光标所在位置到行末:Ctrl + K
7向前删除一个单词:Alt + Backspace
8将终端显示向上滚动:Shift + PgUp(渐进式前进后退)
9将终端显示向下滚动:Shift + PgDn
10 终端复制: Ctrl+Shift+C
11 终端黏贴: Ctrl+Shift+D
12 打开新终端: Ctrl+Shift+N
13 切换至对应的标签页:Alt+数字
14 删除从光标所在位置到行首:Ctrl + U
15 清屏(终端):Ctrl + L 相当于输入 clear
16 向回移动光标:Ctrl+B = 左键
17 向后移动光标:Ctrl+F = 右键
18 逐个恢复:Ctrl+& (恢复 Ctrl+h,Ctrl+d,Ctrl+w删除的内容)
19 删除当前字符:Ctrl+D = backspace
20 删除当前字符前一个字符:Ctrl+H
21 删除当前字符左边的单词:Ctrl+W
22 Shift+上下键 终端上下滚动
23 Ctrl+P=上键 ; Ctrl+N = 下键 终端
第二章:
1历史输入: 上、下键
2通配符:
字符 | 含义 |
* | 匹配 0 或多个字符 |
? | 匹配任意一个字符 |
[list] | 匹配 list 中的任意单一字符 |
[!list] | 匹配 除list 中的任意单一字符以外的字符 |
[c1-c2] | 匹配 c1-c2 中的任意单一字符 如:[0-9] [a-z] |
{string1,string2,...} | 匹配 string1 或 string2 (或更多)其一字符串 |
{c1..c2} | 匹配 c1-c2 中全部字符 如{1..10} |
3在命令行中获取帮助:man <command_name>
区段 | 说明 |
1 | 一般命令 |
2 | 系统调用 |
3 | 库函数,涵盖了C标准函数库 |
4 | 特殊文件(通常是/dev中的设备)和驱动程序 |
5 | 文件格式和约定 |
6 | 游戏和屏保 |
7 | 杂项 |
8 | 系统管理命令和守护进程 |
要查看相应区段的内容,就在 man 后面加上相应区段的数字即可:
man 1 ls
通常 man 手册中的内容很多,你可能不太容易找到你想要的结果,不过幸运的是你可以在 man 中使用搜索/<你要搜索的关键字>,查找完毕后你可以使用n键切换到下一个关键字所在处,shift+n为上一个关键字所在处。使用Space(空格键)翻页,Enter(回车键)向下滚动一行,或者使用j,k(vim 编辑器的移动键)进行向前向后滚动一行。按下h键为显示使用帮助(因为 man 使用 less 作为阅读器,实为less工具的帮助),按下q退出。
4如果你知道某个命令的作用,只是想快速查看一些它的某个具体参数的作用,那么你可以使用--help参数:
ls --help
5输出图形字符的命令banner:sudo apt-get install sysvbanner
第三章:
1查看用户:who
参数 | 说明 |
-a | 打印能打印的全部 |
-d | 打印死掉的进程 |
-m | 同am i,mom likes |
-q | 打印当前登录用户数及用户名 |
-u | 打印当前登录用户登录信息 |
-r | 打印运行等级 |
Who -m =whoami
2创建用户 --> 查看用户 --> 删除用户(基本上用不到):
su <user> 可以切换到用户 user,执行时需要输入目标用户的密码,sudo <cmd> 可以以特权级别运行 cmd 命令,需要当前用户属于 sudo 组,且需要输入当前用户的密码。su - <user> 命令也是切换用户,同时环境变量也会跟着改变成目标用户的环境变量。【一般情况用不到,都只是一个用户在一台电脑,可以略过】
3文件权限
Ls -l 长格式输出
4读权限:cat <file name>
一个目录同时具有读权限和执行权限才可以打开并查看内部文件,而一个目录要有写权限才允许在其中创建其它文件。
5 ls其他命令:
.(当前目录)和 ..(上一级目录);ls -Al;ls -dl <目录名>;
ls -AsSh:(显示所有文件大小,并以普通人类能看懂的方式呈现)
其中小 s 为显示文件大小,大 S 为按文件大小排序,若需要知道如何按其它方式排序,请使用“man”命令查询。
6变更文件所有者:(shiyanlou ,iphone6均是一个文件)
sudo chown shiyanlou iphone6
7修改文件权限:
第四章:
1 FHS(文件系统层次结构标准) 定义了两层规范,第一层是, / 下面的各个目录应该要放什么文件数据,例如 /etc 应该放置设置文件,/bin 与 /sbin 则应该放置可执行文件等等。
第二层则是针对 /usr 及 /var 这两个目录的子目录来定义。例如 /var/log 放置系统日志文件,/usr/share 放置共享数据等等。
2 cd .当前目录 cd .. 返回上一级目录
- 表示上一次所在目录,~ 通常表示当前用户的 home 目录。使用 pwd 命令可以获取当前所在路径(绝对路径)
3 touch 命令创建空白文件
4 mkdir(make directories)命令可以创建一个空目录;-p 参数 多级目录创建 mkdir -p father/son/grandson
5 使用 cp(copy)命令复制一个文件到指定目录;cp -r(-R)命令复制一个目录
6 删除文件或者文件目录: rm -rf family (-f忽略提示,-r删除目录)
7 移动文件:mv 源目录文件 目的目录;
重命名 mv 旧的文件名 新的文件名
8 批量重命名 rename
9 查看文件
使用 cat,tac 和 nl 命令查看文件
cat -n filename(-n 显示行号)
使用 more 和 less 命令分页查看文件
使用 head 和 tail 命令查看文件
tail -n 1 filename(-n 看多少行)
tail -f 动态实时显示内容
编辑文件: vim ;vim使用教程(vimtutor :终端运行)
exit 关闭终端 与 crtl + D 差不多
第五章:
1 环境变量
通常我们会涉及到的变量类型有三种:
当前 Shell 进程私有用户自定义变量。
Shell 本身内建的变量。
从自定义变量导出的环境变量。
也有三个与上述三种环境变量相关的命令:set,env,export。这三个命令很相似,都是用于打印环境变量信息,区别在于涉及的变量范围不同。详见下表:
命 令 | 说 明 |
set | 显示当前 Shell 所有变量,包括其内建环境变量(与 Shell 外观等相关),用户自定义变量及导出的环境变量。 |
env | 显示与当前用户相关的环境变量,还可以让命令在指定环境中运行。 |
export | 显示从 Shell 中导出成环境变量的变量,也能通过它将自定义变量导出为环境变量。 |
注意:为了与普通变量区分,通常我们习惯将环境变量名设为大写。
按变量的生存周期来划分,Linux 变量可分为两类:
永久的:需要修改配置文件,变量永久生效;
临时的:使用 export 命令行声明即可,变量在关闭 shell 时失效。
这里介绍两个重要文件 /etc/bashrc(有的 Linux 没有这个文件) 和 /etc/profile ,它们分别存放的是 shell 变量和环境变量。
Ubuntu 用户变量:个人比较喜欢用
/home/用户/ “.bashrc” ctrl+H显示,打开写入
export PATH=”....path...”$PATH
source ~/.bashrc(立即生效)
2 搜索文件:常用的有 whereis,which,find 和 locate