Linux常见指令 ⑵
- 补充
- man
- 描述:
- 用法:
- 例子
- echo
- 描述:
- 用法:
- 例子 echo 字符串
- 例子 echo 字符串 > 文件
- 例子 追加重定向(>>)
- 例子 输出重定向(>)来创建文件 && (>)来清空文件
- cat
- 描述:
- 用法:
- 例子 cat && cat 文件
- 补充:
- 例子 cat 文件 && cat < 文件
- cat -s/ -b/ -n
- cp
- 描述:
- 用法:
- 例子 cp 源文件 目的文件
- 例子 cp -r 原目录 目的目录
- mv
- 描述:
- 用法:
- 例子 mv 文件名(目录名) 新的名字
- 例子 mv 文件名(目录名) 路径
- 例子 mv 文件名(目录名) 路径 + 新的名字
- 总结 mv指令
- alias
- 描述:
- 用法:
- 例子 alias 别名 = '指令操作'
- ll也是一个别名
- more
- 描述:
- 用法:
- 例子 more -n && /n
- 例子 /n
- 例子 more - n
- less
- 描述:
- 用法:
- 例子 /字符串
- 例子 ? 字符串
- head && tail
- 描述:
- 用法:
- 例子 head/tail -n 文件
- 补充(管道)
补充
(*), 能过匹配任意文件
rm * -rf – — 这个是很好用的~~
whoami, 查看当前账号
su + 用户名, 改变账号
cd ~/ 目录, 回退到家目录下的某个目录
cd -, 回退到之前的目录(路径)
注意: cd ~/ 目录, 后面只能跟目录哦, 上面的例子可以看出, 后面跟普通文件是不行的
which + 指令 — — 查看指令存在的位置
which指令只能对指令起作用
指令的位置在: /usr/bin/
man
描述:
man指令更加详细地查看指令的内容
用法:
man + (手册) + 指令/ 函数接口
例子
安装man : 输入 yum install -y man-pages (root用户才可以)
使用man指令时, 往上翻: 上箭头, 往下翻: 下箭头 或者 ‘Enter’, 退出查看: ‘q’
使用man指令时, 可以不加上 手册, 默认会按照1, 2, 3, 4…这样的手册顺序进行查询(默认查询的是指令)
–手册1是 指令
–手册2是 系统调用
–手册3是 函数接口
echo
描述:
输出字符串
用法:
echo 字符串, 向显示器输出字符串
echo 字符串 > 文件, 向这个文件输出字符串
例子 echo 字符串
我们不要被熟悉的C语言的字符串形式被局限, Linux中的字符串可以 单引号, 双引号, 或者不带引号
谨记: echo 后面跟的一定是一个字符串, 不管是什么形式
例子 echo 字符串 > 文件
原本echo默认该显示在显示器上的, 但是却打印在文件中, 这种行为叫做输出重定向, 符号是 >
cat + 文件, 是从该文件中读取数据, 将文件内容输出到显示器上
如果输出重定向的文件本身不存在, 那么会自动创建出这个文件
例子 追加重定向(>>)
输出重定向(>>), 在原来的内容后面,加上新内容.
echo 默认换行, printf 默认不换行
这里可以利用输出重定向(>) 有清空的一步, 所以可以利用这个来清空文件
例子 输出重定向(>)来创建文件 && (>)来清空文件
总结一下输出重定向(>)的妙用:
- 如果 > 后面的文件不存在, 那么就是创建文件
- 如果 > 后面的文件存在, 那么就是清空文件内容(无论指令是否加上空格)
cat
描述:
cat指令是用来打印文件内容
用法:
cat — ---- 默认从键盘文件中读取数据
cat 文件 — — 从该文件中读取数据, 将文件内容输出到显示器(文件)上
cat < 文件 — — 从该文件中读取数据, 将文件内容输出到显示器(文件)上
b — — 对非空输出行编号
-n — — 对输出的所有行编号
-s — — 不输出多行空行
例子 cat && cat 文件
cat 读取数据:
- 默认是从键盘文件中读取
- 后面跟的有文件, 那么就会从该文件中读取
补充:
- 指令是什么?? 指令存在哪里??
在Linux中, 指令是存放在特殊路径下的 — — /usr/bin/, ==>由此可以推导出, 指令是一个目录, 指令是一个文件.
由于指令又可以被执行 => 由此推导出指令是一个可执行文件.
总结: 指令其实是一种可执行文件, 只是存放在系统的某个特殊路径下罢了, 和我们编程好的可执行程序并没有多大区别(有区别也是别人写的好~~)
注意: 将我们写的可执行文件放入指令路径, 要在root用户下才可以哦
- Linux中一切皆文件
在这里主要解释的就是两个, 键盘 和 显示器
- 用户可以从键盘中读取数据, 可以认为读取功能是具体的, 但是不能从键盘中写入数据, 可以认为写入功能是空的
- 用户可以从显示器上写入数据, 可以认为写入功能是具体的, 但是不能从显示器上读取数据, 可以认为读取功能是空的
==>键盘文件 和 显示器文件都是具有读写的能力, 所以认为是一种文件哦
例子 cat 文件 && cat < 文件
原本是从键盘文件中读取数据的, 但是却向文件中读取数据, 这种行为叫做 输入重定向 (<)
有些老铁就会有疑问: 这两种方式都是一样的结果, 为啥要多此一举??
注意: 虽然结果是一样的, 但是意义不一样. 由于现在学的知识有限, 这个以后细讲~, 记得提醒老陈哦!!
cat -s/ -b/ -n
cp
描述:
cp指令是拷贝文件或者目录的
用法:
cp 源文件 目的文件 — — 将源文件拷贝到目的文件中
cp -r 源目录 目的目录 — — 将源目录拷贝到目的目录中
例子 cp 源文件 目的文件
例子 cp -r 原目录 目的目录
拷贝 和 剪切是容易弄混的 ==> cp 和 mv 是容易弄混的哦
mv
描述:
mv指令可以移动文件(或目录) 或者 给文件(或目录) 重命名
用法:
mv 文件名(目录名) 新的名字 — — 给文件(目录)重命名
mv 文件名(目录名) 路径 — — 移动文件(目录)
mv 文件名(目录名) 路径+新的名字 — — 移动文件(目录)并改名
例子 mv 文件名(目录名) 新的名字
例子 mv 文件名(目录名) 路径
例子 mv 文件名(目录名) 路径 + 新的名字
总结 mv指令
我们可以把 mv指令 都有移动 和 重命名的两个方面
重命名行为: mv a.txt b.txt == mv a.txt ./b.txt
移动行为: mv c.txt …/ == mv c.txt …/c.txt
alias
描述:
alias指令是给指令起个别名
用法:
alias 别名 = ‘指令操作’
例子 alias 别名 = ‘指令操作’
我么可以发现, 别名跟原名有着一样的功能
alias的的特点:
- 具有临时性, 并没有写在文件中
- 如果不想用这个别名, 有两种方式:
-
- alias 别名=‘’
-
- 直接关闭再重启一下
- 别名=‘原名’ ==>这中间不能有空格哦, 别问为什么, 试过就知道了~~
别名虽然简单, 但不要贪杯哦
ll也是一个别名
我们查找的是 ll 指令的位置, 但是结果却显示的是ls 的位置~~
细看 ll的由来 : alias l=‘ls -l --color=auto’, 前面的是起别名就不用说了
后面的 --color=auto, 是配色方案了, 这里的意思是: 配色方案是自动分配的
more
描述:
跟 cat 是一样的, 主要是用来查看大文件的(项目, 日志… …)
more指令跟后面要讲的less指令, 更推荐less指令
用法:
more + 文件名 — — 进入more查看模式
选项(-n) — ---- 查询模式
选项(/n) — — 查询模式
例子 more -n && /n
进入more模式下, 只能向下翻—‘Enter’ , 退出—‘q’
在more模式下可以使用 / 选项, 而不能使用 - 选项
例子 /n
例子 more - n
进入more模式前, 其实就可以选择要看哪一行左右
less
描述:
- less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。
- less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看
- 但若使用了 less 时,就可以使用 [pageup][pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!
- 除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。
用法:
less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前
不会加载整个文件。
-i — — 忽略搜索时的大小写
-N — — 显示每行的行号
/字符串 — — 向下搜索“字符串”的功能
?字符串 — — 向上搜索“字符串”的功能
n — — 重复前一个搜索(与 / 或 ? 有关)
N — — 反向重复前一个搜索(与 / 或 ? 有关)
例子 /字符串
例子 ? 字符串
- 当前界面前面有这个内容:
- 当前界面前面没有这个内容
head && tail
描述:
head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾。默认是前(后) 10行.
用法:
head 文件 — — 默认输出文件的前10行
tail 文件 — — 默认输出文件的后10行
head -n 文件 — — 输出文件的前 n行
tail -n 文件 — — 输出文件的后 n行
例子 head/tail -n 文件
补充(管道)
有输出文件的前 n行, 有输出文件的后 n行, 那么有没有输出中间的 n行??
其实两种方式:(提取test.txt的 1000 - 1020行)
- 创建临时文件
head - 1020 test.txt > tem.txt
tail -21 tem.txt
这种方法会在磁盘中创建一个临时文件, 会导致浪费哦
- 用管道
head -1020 test.txt | tail -21
这个 | 就是管道文件, 这个文件是内存级别的文件
- 理解内存级:
如果我们要修改一个文件, 就需要先把数据先加载到内存, 然后再进行操作. ==> 可以说在某一个时期, 任何文件都是内存文件. 不过有的文件最终要进入到磁盘中, 有的不会进入磁盘, 就存在于内存中. - 理解管道:
管道有两个口, 入口和出口. 从管道左边进数据, 不会在磁盘中创立临时文件, 然后出数据到右边使用
醉卧沙场君莫笑,,古来征战几人回.