Python全栈 Linux基础之3.Linux常用命令
文章目录
一、ls及其使用
ls是英文单词list的缩写,功能是列出当前目录下的文件列表,是非常常见的Linux命令之一。
1.Linux下目录特点
以 . 开头的文件是隐藏文件,使用ls查看时,需要加上 -a(all) 参数才能显示。
. 代表当前目录,. . 代表上一级目录(可以理解为隐藏的两个文件路径)。
cd .
跳到当前目录;
cd . .
跳到上一级目录。
2.ls常用选项
选项 | 功能 |
---|---|
[-a] | all,显示所有内容,包含隐藏文件 |
[-l] | (字母L小写) 显示文件详细信息 |
[-h] | human-readable,需要配合-l(字母L小写)选项,所谓的人性化显示 |
练习:
touch 123.txttouch .123.txt
查看:
ls -a
显示:
ls -l
显示:
ls -l -h
显示:
只是文件大小显示改变。
选项可以合并,且顺序不影响
ls -lh
显示与前者相同。
查看所有文件和文件夹(包括隐藏文件)
ls -lah
显示:
3.ls配合通配符
通配符 | 功能 |
---|---|
* | 代表任意多个任意字符,可以没有字符 |
? | 代表就是一个任意字符,至少一个字符 |
[ ] | 代表一个字符,取值范围在[ ]中,例如[1234 ]匹配1、2、3、4中的任意一个,[a-g] 匹配从a到g范围内的任意一个 |
应用:
批量查询、修改文件。
练习:
touch 123.txttouch 124.txt touch 125.txt touch 126.txt touch 223.txt touch 323.txt touch 111.txt touch 131.txt touch 11.txt touch 12345.txt ls
显示:
找到以1开头的文件
ls 1*
显示:
找到以3结尾的文件
ls *3.txt
显示:
ls 1*1.txt
显示:
ls ?1?.txt
显示:
查询含有1的文件:
ls *1*.txt
显示:
ls 12[12345].txt
显示:
ls 12[1-6].txt
显示:
rm 1*1.txt ls
显示:
rm *.txt ls -a
显示:
删除文件时,只删除了非隐藏文件
删除全部文件用
rm .*.txt ls -a
显示:
二、cd命令
cd是英文单词change directory的缩写,其功能就是跳转目录。
它与之前的几个命令不同的是,cd是BASH内置命令,没有帮助文档与相关手册。
所以在使用
$which cd的时候是看不到它的二进制路径的,因为系统中不存在cd命令的二进制文件。
命令 | 功能 |
---|---|
cd | 切换到当前用户的家目录(home/用户名) |
cd ~ | 和 cd 效果一样 |
cd … | 跳转到上一级目录 |
cd - | 在最近两个目录来回切换,有点像图形界面的 Alt + Tab切换窗口的感觉 |
cd后面的路径可以是两种:
相对路径和绝对路径。
相对路径:
指相对当前目录的路径;
绝对路径:
是指全路径。可以从 /(根目录)开始,或者是~(家目录)开始。
注意:
Linux下目录名称以及文件名称大小写是有区别的!
练习:
mkdir aaa cd aaa mkdir bbb cd bbb mkdir ccc cd ccc pwd
显示:
回到家目录:
cd ~
显示:
再次到ccc:
cd -
显示:
逐级回到家目录:
cd .. cd .. cd ..
显示:
cd ../Downloads
显示:
三、创建和删除的操作
1.mkdir命令
创建一个新的目录。
选项 | 功能 |
---|---|
[-p] | 可以递归创建目录 |
注意:
新建的目录名称不能重名。
2.rm命令
删除文件或目录。
选项 | 功能 |
---|---|
[-f] | 强制删除,忽略不存在的文件,无需提示 |
[-r] | 递归删除目录下的内容,删除文件夹就用这个选项 |
练习:
touch 123.txt
说明:
创建文件时,如果文件存在,只修改创建时间,不改变内容。
创建嵌套目录:
mkdir -p a/b/c
结果:
在Linux中,文件和文件夹不能重名。
touch 123 makdir 123
显示:
先创建文件夹,再创建同名文件时,相当于改变创建时间。
rm -f aabbcc
显示:
rm -r *
显示:
四、复制、移动文件
1.拷贝文件
cp命令:
拷贝文件或者目录,类似DOS中的copy。
cp 源文件 目标文件
选项 | 功能 |
---|---|
[-i] | interactive互动,覆盖文件时有提示 |
[-r] | 如果cp跟上的是目录,那么将会递归拷贝目录下的所有子目录和文件 |
tree命令:
tree命令可以将目录结构显示出来(树状显示)。
选项 | 功能 |
---|---|
[-d] | directory,只显示目录 |
有的同学系统中默认没有此命令。所以会提示:
可以用
sudo snap install tree
命令安装。
练习:
mkdir -p aaa/bbb/ccc tree
显示:
touch aaa/123.txt tree
显示:
tree ~
显示:
cd / mkdir -p ~/Desktop/a/b/c tree ~/Desktop
显示:
只看目录
tree -d ~/Desktop
显示:
cd Desktop/ cp aaa/123.txt . tree ~
显示:
cp aaa/123.txt test.txt
显示:
带提示:
cp -i aaa/123.txt .
显示:
拷贝文件夹:
cp -r a b tree
显示:
如果目标文件夹存在相同名称文件,则会提示覆盖。
2.移动文件
mv命令:
mv是move的缩写,用来移动文件/目录。
小技巧:
如果需要重命名,也可以使用mv命令覆盖当前文件/目录 达到效果
选项 | 功能 |
---|---|
[-i] | interactive,覆盖文件时有提示 |
练习:
mkdir -p a/b/ctouch a/b/c/123.txt a/b/c/124.txt a/b/c/125.txt tree
显示:
mv a/b/c/123.txt . mv a/b/c .
显示:
移动文件夹不需要-r选项。
如果目标文件夹存在相同名称文件,则会提示覆盖。
带提示:
mv -i c/124.txt 123.txt
显示:
mv -i 123.txt readme.txt
可实现修改文件名的功能。
五、查看文件内容相关命令
命令 | 功能 |
---|---|
cat 文件名 | concatenate,查看文件内容、创建文件、文件合并、追加文件内容等 |
more 文件名 | more,分屏显示文件内容(内容多一般用more) |
grep 搜索内容 文件名 | grep,搜索文件内容 |
1.查看文件
cat:
- 查看文件内容、创建文件、文件合并、追加文件内容等;
- 命令会一次性显示所有内容,所以适合查看内容较少的文件。
选项 | 功能 |
---|---|
[-b] | 显示每一行的行号 |
[-n] | 只显示有内容的行号,空行不算一行 |
more:
此命令可以分屏显示文件内容,每次只显示一页内容。所以适合查看内容多的文件。
使用more的操作按键:
操作按键 | 功能 |
---|---|
空格键 | 显示下一页 |
回车键 Enter | 显示下一行 |
b | back,显示上一页 |
f | forward,向前和空格效果一样 |
q | quit,退出 |
/ 搜索文字 | 搜索文本中的内容 |
cat 123.txt
显示:
cat -b 123.txt
显示:
cat -n 123.txt
显示:
more 123.txt
显示:
2.查找文件内容
grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
选项 | 功能 |
---|---|
[-n] | line-number,显示匹配行及行号 |
[-v] | invert-match,选中不匹配的行 |
[-i] | ignore-case,忽略大小写 |
grep常用查找方式:
- 在file_name中 搜索Hello_world这个单词
grep Hello_world file_name grep "Hello_world" file_name
- 在多个文件中查找
grep "Hello_world" file_1 file_2 file_3 ...
- 常用两种模式查找
参数 | 功能 |
---|---|
^hello | 行首,搜索以hello开头的行 |
world$ | 行尾,搜索以world结束的行 |
注意:
区分大小写。
grep corley 123.txt
显示:
带行号:
grep -n corley 123.txt
显示:
偏移字节数:
grep -b corley 123.txt
显示;
不区分大小写:
grep -in corley 123.txt
显示:
不包含corley:
grep -inv corley 123.txt
显示:
字符中间有空格时,加双引号:
grep -inv "hello corley" 123.txt
显示:
六、重定向&管道输出符
1.重定向
符号 > >>
- Linux中允许将命令执行结果 重定向到一个文件;
- 将本应该显示在终端上的内容输出/追加到指定文件中。
符号 | 功能 |
---|---|
> | 输出重定向到一个文件或设备 覆盖原来的文件 |
>> | 输出重定向到一个文件或设备 追加原来的文件 |
echo会在终端中显示参数指定的文字,通常会和重定向联合使用
2.管道输出
符号 |
- Linux允许将一个命令的输出通过管道作为另外一个命令的输入。
command 1 | command 2 | command 3 … …
echo hello world > abc vi abc
显示:
ls -lh > abc
结果:
tree >> abc
结果:
管道符:
ls -lh ~ ls -lah ~ ls -lah ~ > b grep -n vi b
显示:
相当于管道输出:
ls -lah ~ | grep -n vi
显示:
ls -lah ~/.*vi*
显示:
这种输出相对不直观。
ls -lah ~ | grep -in vi
显示:
- 点赞 14
- 收藏
- 分享
- 文章举报
- 【0基础Python学习笔记04】-基础知识-LINUX安装+常用命令总结
- 重学Python - Day 07 - python基础 -> linux命令行学习 -- 常用命令 一
- Python全栈 Linux基础之4.远程管理命令
- LINUX常用命令(基础)
- 本人常用的基础 linux命令
- 转载:Linux网络基础总结(常用配置文件&常用命令)
- LINUX常用命令(基础)
- Linux基础知识及常用命令
- LINUX常用命令(基础)
- linux 目录结构+常用命令+压缩命令+vim使用+及一些基础知识(非常好)
- Linux网络基础常用命令.四
- 基础的Linux常用命令
- LINUX常用命令(基础)
- Linux常用命令(一)- 基础
- [基础]LINUX下SFTP常用命令操作
- Python下调用Linux的Shell命令 分类: ubuntu python基础学习 2014-01-15 17:12 15631人阅读 评论(1) 收藏
- Linux 基础之文件系统和常用命令
- Linux常用命令笔记---shell编程基础
- LINUX常用命令(基础)
- linux常用命令(基础)