Linux模仿了unix的使用习惯
Shell
用于运行系统指令的程序
可以调用系统中其他的系统指令
指令组合在一起可以做成脚本来执行
最初的shell:Bourne Shell(贝尔实验室)
最常用的shell:bourne-again Shell(简称Bash)
通常称为终端
命令提示符
name@host:path$ 普通用户
name@host:path# root用户
基本Shell命令
cat 用来显示文件里的内容(合并显示多个文件内容)
输入输出
标准输入输出称为stdin/stdout
第三标准流stderr
Ctrl-D 结束当前输入
Ctrl-C 无论当前情况强制结束
Bash提供按tab进行字母补齐
ls |
列出当前目录 |
|
|
-l |
详细内容(权限,inode,属主,属组,大小,修改时间) |
|
-a |
显示包括隐藏内容 |
|
-d |
只显示目录自身信息 |
|
-i |
显示inode信息 |
|
-S |
按文件大小排序 |
|
-r |
倒序排序 |
|
-t |
按修改时间排序 |
|
-h |
文件大小以能看得懂的方式显示 |
ll |
ls -la |
|
cp |
拷贝 |
|
|
cp file1 file2 |
|
|
cp file1 file2 dir/ |
|
|
-R/r |
拷贝目录及其中全部内容 |
|
-l |
硬链接拷贝(ls -li) |
|
-s |
软链接拷贝 |
|
-S |
目标名后面加后缀 |
|
-u |
源比目标新时拷贝 |
mv |
移动 |
|
|
mv file1 file2 |
|
|
mv file1 file2 dir/ |
|
|
-f |
强制移动、覆盖目标 |
touch |
创建空文件 |
|
|
若文件名已存在,不修改内容,修改文件mtime |
|
|
touch file |
|
rm |
删除 |
|
|
rm file |
|
|
rm -rf dir/ |
|
|
-i |
每删除前提醒 |
|
-d |
删除空目录 |
echo |
将命令参数显示在stdout |
|
|
echo “hello word” |
|
|
-n |
显示结束不换行 |
|
-e |
解释反斜杠转移符 echo -e a\\nb |
|
echo $HOME |
|
|
|
|
目录结构相关
~ |
表示主目录 |
|
绝对路径 |
从/开始,目录结束,这样一个完整路径 cd /home/user1/desktop/ |
|
相对路径 |
直接cd当前目录子目录名称 cd desktop/ |
|
. |
表示当前所在目录 |
|
.. |
上一级目录 |
|
mkdir |
创建目录 |
|
|
-p |
可以创建多级目录 |
cd |
切换到目录 |
|
rmdir |
删除空目录 |
|
|
-p |
可以删除一系列空目录 |
|
|
|
通配符
* 所有对象
*1* 文件名包括1的文件
pwd |
显示当前完整目录 |
|
|
-P |
物理路径(查看软链接的真实路径) |
|
-L |
逻辑路径 |
grep |
抓取需要的内容的那一行 |
|
|
grep root /etc/passwd |
|
|
grep r* /etc/passwd |
|
|
grep root /etc/* |
|
|
-i |
忽略大小写 |
|
-v |
反向匹配 |
|
-n |
显示行号 |
|
-r |
递归目录及子目录中所有文件 |
|
-c |
显示目标文件包含关键词的行数 |
|
grep -f 1.txt 2.txt 把1.txt中的多个关键字同时匹配 |
|
|
grep a[123] a.txt 同时匹配a1,a2,a3 |
|
|
grep -E ‘1|2|3’ a.txt 或者1或者2或者3 |
|
less |
每次一页显示输出内容 |
|
|
快捷键 |
|
|
z/b |
向前/向后翻页 |
|
v |
进入编辑模式 |
|
g/G |
直接跳到第一行/最后一行 |
|
/word |
向前搜索关键词 |
|
?word |
向后搜索关键词 |
|
n/N |
正向/反向继续搜索关键词 |
|
q |
退出 |
head |
显示文件头部内容(默认显示前十行) |
|
|
-n |
n是指定行数 |
tail |
显示文件尾部内容(默认显示十行) |
|
|
-n |
n是制定行数 |
|
-f |
实时显示尾部内容==tailf |
diff |
比较文本文件 |
|
|
diff a b |
|
|
a-add,文件2比1多,c-change,内容不同,d-delete文件1比2多 |
|
|
-u |
统一格式输出(---文件1,+++文件2) |
|
-y |
并排输出比较(|,不同,<,文件1,>,文件2) |
|
-w |
忽略空格 |
|
-i |
忽略大小写 |
|
也可以用来比较文件夹 |
|
file |
检测文件格式 |
|
|
顺序执行三种测试集 filesystem:匹配系统头文件<sys/stat.h> magic:匹配文件头部魔术值, -l 参数查看 language:匹配文件起始的字符 类型,ASCII, UTF-8 一种测试匹配即停止检测,全都不匹配返回 data |
|
|
-f |
文件列表 |
|
-ib |
Mime类型 |
locate |
基于文件索引进行搜索 |
|
|
速度快但是不准确 |
|
|
updatedb |
更新索引 |
find |
搜索文件 |
|
|
find / -name abc*.txt |
|
|
find . -type b c d f | |
|
|
find . -user user1 |
|
|
find . -mtime +1 -mtime -20(atime,ctime,amin,mmin,cmin) |
|
|
-cnewer file |
查找比这个文件更新的文件 |
stat |
查看文件的详细信息 |
|
|
其中 Access:访问时间 Modify:修改时间 Change:修改权限时间 |
|
sort |
排序 |
|
|
-r |
反向排序 |
|
-n |
按照数值大小排序 |
|
-M
|
按照月份排序(‘JAN’----‘DEC’) |
|
ls -l --sort=key |
|
|
|
|
|
|
|
|
|
|
命令行快捷键
CTRL-b |
向左 |
CTRL-f |
向右 |
CTRL-p |
向上 |
CTRL-n |
向下 |
CTRL-a |
光标至行首 |
CTRL-e |
光标至行尾 |
CTRL-w |
删除光标前到空格的内容 |
CTRL-u |
删除光标到行首 |
CTRL-k |
删除光标到行首 |
CTRL-y |
粘贴最近一次删掉的内容(最近一次删掉的内容在复制里面) |
Linux 所有对向都是文件
运行中的文件叫做进程