3806字数
04目录相关命令
1)明确命令分类和学习目标
- 查看目录内容
ls - 切换目录
cd - 创建和删除操作
touch
rm
mkdir - 拷贝文件内容
cp
mv - 查看文件内容
cat
more
grep - 其他
echo
重定向 > 和 >>
管道 |
2)分享自动补全和命令选择技巧
-
自动补全:
按下tab
键, 若无歧义,自动补全;若有歧义,系统会提示可能存在的命令。(区分大小写) -
命令选择(曾经使用过的命令):
- 按
上
,下
光标键 ctrl
+c
另起一行,重新回到终端。
- 按
3)查看隐藏文件和返回上一级目录
-
ls 命令说明
ls 是英文单词list 的简写。 其功能为列出目录内容,是用户最常用的命令之一,类似于DOS的dir
命令。 -
Linux下文件和目录的特点
- Linux文件或者目录名称最长有256个字符。
- 以
.
开头的文件为隐藏文件,需用参数-a
才能显示。 .
代表当前目录。..
代表上一级目录。
4)ls的列表和文件大小选项
参数 | 含义 |
---|---|
-a | 显示指定目录下所有子目录与文件、包括隐藏文件 |
-l | 以列表方式显示文件的详细内容 |
-h | 配合-l 以人性化的方式显示文件大小 |
(**说明:可以连在一起输入,不分前后顺序,如:ls -ahl
)
- 颜色的含义
文件夹–蓝色字体
文件–白色字体 - 第一个字母的含义
d
–目录
-
–不是目录
单位 | 英文 | 含义 |
---|---|---|
字节 | B(Byte) | 在计算机中作为一个数字单位,一般为8位二进制数 |
千 | K (Kibibyte) | 1 KB = 1024 B ,千字节(1024 = 2 ** 10) |
兆 | M (Mebibyte) | 1 MB = 1024 KB, 百万字节 |
千兆 | G (Gigabyte) | 1 GB = 1024 KB, 十亿字节,千兆字节 |
太 | T (Terabyte) | 1 TB = 1024 GB, 万亿字节,太字节 |
拍 | P(petabyte) | 1 PB = 1024 TB, 千万亿字节,拍字节 |
*艾 | E (Exabyte) | 1 EB = 1024 PB,百亿亿字节,艾字节 |
*泽 | Z( Zettabyte) | 1 ZB = 1024 EB, 十万亿亿字节,泽字节 |
*尧 | Y(Yottabyte) | 1 YB = 1024 ZB, 一亿亿亿字节,尧字节 |
5)ls和通配符的联合使用
通配符 | 含义 |
---|---|
* | 代表零个或任意多个字符 |
? | 代表任意一个字符,至少一个 |
[] | 表示可以匹配字符组中的任意一个 |
[abc] | 匹配a、b、c中的任意一个 |
a - f | 匹配从 a 到 f 范围中的任意一个字符 |
6)通配符的字符组
ls [12345]23.txt
=ls [1-5]23.txt
7)cd 命令的常用参数
cd
是英文单词change directory 的简写,其功能为更改当前目录,也是用户最常用的命令之一。
命令 | 含义 |
---|---|
cd | 切换到当前目录的主目录(/home/用户目录) |
cd~ | 切换到当前目录的主目录(/home/用户目录) |
cd . | 保持在当前目录不变 |
cd … | 切换到上级目录 |
cd - | 可以在最近两次工作目录之间来回切换 |
8)相对路径和绝对路径
- 绝对路径
- 不管在哪里,用
cd
都可以去到该位置,以/
或/home
开始 - 如
cd /home/user/Desktop/
。
- 不管在哪里,用
- 相对路径
相对于当前位置的路径,当前目录改变,也跟着改变。
05文件相关命令
1)touch 和mkdir命令的拓展
- touch
无文件,新建文件,有文件,更新文件末次修改时间。 - mkdir
创建一个目录
-p
可以创建递归目录(连续创建目录)
如:mkdir -p a1/b1/c1/d1
- 在linux中,同一目录下,文件也好,目录也好,是不能重名的。
如:touch 123
创建了新文件123,就不能用mkdir 123
创建新目录123。因为123 这名称已经是被文件名123占用了。
2)rm命令的拓展
rm
用来直接删除文件,注意,使用rm
会直接从磁盘删除文件或目录,无法恢复,不会放到垃圾桶中。-f
强制删除文件,而且无任何提示 ,如rm -f abc
-r
一次性删除一个或多个目录rm -r a1
(删除a1 目录的全部子文件)- 可用通配符,如:
rm *1.txt
(删除名称以1结尾的所有文件) - ·
rm -r *
删除该目录下全部文件和目录,**千万千万不要**在家目录或根目录使用该代码,否则彻底完蛋了,你要重新安装系统了!!本人血的教训!!
3)目标确定和图形界面演示
- tree-可以以树状图形式列出文件目录结构。
(没有tree命令看我的主页,有教如何获得tree命令,而且此方法必定可以下载到tree命令) - cp 复制文件或目录。
- mv 移动文件或目录,或给文件或目录重命名。
4)tree以树状图查看目录结构
若你没有tree命令,别慌,输入以下代码:
1.wget http://mama.indstate.edu/users/ice/tree/src/tree-1.7.0.t
2.tar zxvf tree-1.7.0.tgz
3.cd tree-1.7.0
4.make
- 若无make,输入
sudo apt install make
, - 若还不行就升级
opam
,输入sudo apt install opam
+opam install
#时间会有点久,耐心等待# - 现在make就可以使用了
5.用su
切换到root
,输入你的pin
输入cp tree /bin
+ ll
- 若切换不了
su
,显示su:Authentication failure
,输入sudo passwd root
输入你的新密码,再重新输入su
,输入你设置的新密码即可。)
6.tree可以使用了!恭喜。
tree -d
只显示目录
tree[目录名]
显示该目录的树状图
5)cp命令复制文件
- 格式:
cp 源文件 目标文件
- 如果文件名不发生变化,接打目标目录就可以了
- 如果目标目录是当前目录,直接打
.
即是代表目标目录 - 如:
cp ~/Document/readme.txt .
,就可以把Document中的readme.txt
文件复制到当前目录。
6)cp命令-i选项覆盖前提示
-i
:如果文件已经存在,就会给我们提示是否覆盖文件。n
表示不覆盖,y
表示可以覆盖。(这个让复制更安全,建议每次复制都使用-i
,养成习惯,以防丢失数据!)
7)cp命令-r选项复制目录
cp
命令与rm
命令一样,并不能直接复制目录,也要用-r
选项复制目录。- 如:
cp -r a test
复制a到当前目录的test。
8)mv命令移动文件或者目录
- mv 是英文单词move的简写。其功能为移动文件。
- 格式:
mv 源文件 目标文件
- 如:
mv a/b/c/123.txt .
即可把a目录下的b目录下的c目录下的123.txt
移动到当前目录。
9)mv命令给文件或目录重命名
如:
mv ./readme.txt ./demo.txt
mv -i demo.txt 123.txt
(小心文件覆盖!!会遗失数据!!!!)mv a demo
(目录也可以直接重命名)
10)cat和more的基本使用和对比
cat 文件名
是concatenate的简写,一次性显示所有内容,适合内容较少的文件。more 文件名
:可以分屏显示,适合内容较多的文件。- more的炒作键(跟
man
相似)- Space键:下一屏
- Enter键:下一行
- b :回滚一屏
- f :前滚一屏
- q :退出
(Space键和 f 键 功能相同)
11)cat命令的-b和-n选项输出行号
cat的作用:查看文件内容,创建文件,文件合并,追加文件内容
选项 | 含义 |
---|---|
-b | 对非空输出行编号 |
-n | 对输出所有行编号 |
12)grep查找文件内容
- Linux系统中
grep
命令是一种强大的文本搜索工具。 grep
允许对文本文件进行模式查找,所谓模式查找,又被称为正则表达式。
选项 | 含义 |
---|---|
-n | 显示匹配行及行号 |
-v | 显示不包含文件的所有行(相当于求反) |
-i | 忽略大小写 |
如:grep -ni "hello python" 123.txt
就能搜索到 Hello Python
及其行号。
13)grep 行首、行尾的模式查找
- 常用的模式查找
参数 | 含义 |
---|---|
^a | 行首,搜索以a 开头的行 |
ke$ | 行尾,搜索以ke 结束的行 |
14)echo和重定向
-
echo
是重复,复合的意思
如:echo Hello
echo
很少单独使用,通常跟重定向一起使用 -
重定向
>
和>>
其中,>
表示输出,会覆盖文件原有的内容>>
表示追加,会将内容追加到已有文件的末尾
-
如:
echo Hello python > a
,此时会新建一个新文件a
。cat a
,就会示a
文件的内容Hello Python
-
echo ls -hl > a
:覆盖 -
echo ls -hl >> a
:追加 -
touch a
+echo Hello python > a
+cat a
即可新建及编辑查看文件a
15)管道的概念和基本使用
- | : 管道
- 把一个命令的输出,做为另一个命令的输入,通常用
more
或grep
。
如: ls -lha ~ | more
ls -lha ~ | grep vi