Linux常见指令 (2)

补充

(*), 能过匹配任意文件


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 默认不换行
这里可以利用输出重定向(>) 有清空的一步, 所以可以利用这个来清空文件

例子 输出重定向(>)来创建文件 && (>)来清空文件



总结一下输出重定向(>)的妙用:

  1. 如果 > 后面的文件不存在, 那么就是创建文件
  2. 如果 > 后面的文件存在, 那么就是清空文件内容(无论指令是否加上空格)

cat

描述:

cat指令是用来打印文件内容

用法:

cat — ---- 默认从键盘文件中读取数据
cat 文件 — — 从该文件中读取数据, 将文件内容输出到显示器(文件)上
cat < 文件 — — 从该文件中读取数据, 将文件内容输出到显示器(文件)上
b — — 对非空输出行编号
-n — — 对输出的所有行编号
-s — — 不输出多行空行

例子 cat && cat 文件


cat 读取数据:

  1. 默认是从键盘文件中读取
  2. 后面跟的有文件, 那么就会从该文件中读取

补充:

  1. 指令是什么?? 指令存在哪里??


在Linux中, 指令是存放在特殊路径下的 — — /usr/bin/, ==>由此可以推导出, 指令是一个目录, 指令是一个文件.
由于指令又可以被执行 => 由此推导出指令是一个可执行文件.
总结: 指令其实是一种可执行文件, 只是存放在系统的某个特殊路径下罢了, 和我们编程好的可执行程序并没有多大区别(有区别也是别人写的好~~)

注意: 将我们写的可执行文件放入指令路径, 要在root用户下才可以哦

  1. Linux中一切皆文件

在这里主要解释的就是两个, 键盘 和 显示器

  1. 用户可以从键盘中读取数据, 可以认为读取功能是具体的, 但是不能从键盘中写入数据, 可以认为写入功能是空的
  2. 用户可以从显示器上写入数据, 可以认为写入功能是具体的, 但是不能从显示器上读取数据, 可以认为读取功能是空的
    ==>键盘文件 和 显示器文件都是具有读写的能力, 所以认为是一种文件哦

例子 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 — — 反向重复前一个搜索(与 / 或 ? 有关)

例子 /字符串


例子 ? 字符串

  1. 当前界面前面有这个内容:

  2. 当前界面前面没有这个内容


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行)

  1. 创建临时文件

head - 1020 test.txt > tem.txt
tail -21 tem.txt

在这里插入图片描述
这种方法会在磁盘中创建一个临时文件, 会导致浪费哦

  1. 用管道

head -1020 test.txt | tail -21


这个 | 就是管道文件, 这个文件是内存级别的文件

  • 理解内存级:
    如果我们要修改一个文件, 就需要先把数据先加载到内存, 然后再进行操作. ==> 可以说在某一个时期, 任何文件都是内存文件. 不过有的文件最终要进入到磁盘中, 有的不会进入磁盘, 就存在于内存中.
  • 理解管道:
    管道有两个口, 入口和出口. 从管道左边进数据, 不会在磁盘中创立临时文件, 然后出数据到右边使用

醉卧沙场君莫笑,,古来征战几人回.

猜你喜欢

转载自blog.csdn.net/qq_67549203/article/details/130444740