本篇博客的主要目的是总结Ubuntu终端中高频使用的一些常用命令和操作,终端命令非常多,但常用的命令并不多,因此此博文的主要目的是不求全,但就精,能够方便大家直接查询,以及快速掌握一些常见用法。学习这些命令不要总想着一次性都掌握,或者花大把的时间去看,只需要在遇到的时候或者自己想要做某个操作的时候进行查询并总结即可,因此本文也是会不断更新的。
文章目录
系统学习资源
终端清理
如果只是清理当前终端打印内容,但是用鼠标滚轮还是可以回滚历史记录,可以执行:
clear
如果想要完全清理终端打印内容,并且不能用鼠标回滚历史记录,可以执行:
reset
我一般习惯设置别名:
alias r="reset"
常用简单命令
此部分主要是一些简单的常用命令,一般也不会用到这些命令的太多功能选项,包括:
参考
pwd
:查看当前目录所在的路径
date
: 查看当前时间,date +%Y-%m
按格式输出
cal
:查看当月日历,cal -y
查看全年日历
passwd
:修改当前用户密码,passwd <用户名>
:修改指令用户密码
history
命令
查看历史命令
列出的历史命令前会有一个命令编号,可以使用!历史命令编号
来执行历史命令。
解压命令
首先推荐鼠标右键-》提取到此处这种方法,或者使用以下的命令
1、zip
格式压缩包:
- 解压至当前目录,保持压缩包内目录结构,终端会打印解压内容:
unzip test.zip
- 不解压,只看压缩包内文件:
unzip -l test.zip
- 解压至当前目录,终端不输出任何内容:
unzip -q test.zip
- 其他选项
2、rar
格式压缩包
Ubuntu下默认无法解压rar
格式压缩包,需要进行安装:
sudo apt-get install unrar
然后鼠标右键就可以进行解压缩了。
cd命令
cd 目录名
: 切换到指定目录
cd .
: 切换到当前目录
cd ..
: 切换到上一级目录
cd ~
: 切换到当前用户的主目录
cd
: 等价与cd ~ 切换到当前用户的目录
cd -
: 切换到上一次工作目录
ls命令
作用: ls=list,顾名思义用来列出当前路径下的所有文件和文件夹,这个命令使用频率非常高,也拥有很多选项,我们掌握基本的操作即可。
列出所有文件包括隐藏文件:
默认ls
命令不会列出.
开头的隐藏文件,要想列出隐藏文件可以用下面命令:
ll
或者
ll -a
查看文件大小:
可以以KB或MB为单位显示文件大小:
ll -sh
或
ls -sh
只列出文件夹:
https://blog.csdn.net/DLUTBruceZhang/article/details/9244897
$ ls -d */
Desktop/ pic/ shell/ src/
可以将该命令设置一个别名,方便使用:
alias lsd=`ls -d */`
列出以某个字符串开头的文件:
ls | grep gcc* -l
注意后面需要-l
,不然无法列出。
列出不同文件类型颜色代表的含义不同:
白色:表示普通文件
蓝色:表示目录
绿色:表示可执行文件
粉色:表示图片文件
红色:表示压缩文件
天蓝色:链接文件
红色闪烁:表示链接的文件有问题
黄色:表示设备文件
灰色:表示其他文件
示例:
ln命令
我常用ln来对文件夹或文件建立软链接,从而实现在不同路径下链接到同一路径下文件或文件夹的目的。
语法:
ln -s <源文件或文件夹路径,即要被链接的对象> <目标文件或文件夹路径>
例子:
1、在/home/zhanghm/Programming
路径下建立一个文件夹链接到/home/zhanghm/Datasets
文件夹:
cd /home/zhanghm/Programming
ln -s /home/zhanghm/Datasets Datasets
2、将/home/zhanghm/Programming/data
路径下建立同名的软链接文件链接到/home/zhanghm/Datasets/data
文件夹下所有文件:
cd /home/zhanghm/Programming/data
ln -s /home/zhanghm/Datasets/data/* .
cp命令
常用拷贝命令,具体用法见:https://learnku.com/server/wikis/36530
grep命令
作用: grep
命令非常强大,在很多应用场景下都能见到它的身影,主要包括:
1、过滤标准输出的字符串,快速定位终端输出中是否包含某字符串;
2、查询文件内容中是否包含指定字符串。
常见用法:
比如我通过ls
命令可以列出当前目录下所有文件(文件夹)名,但如果文件很多,我想快速知道当前目录下是否包含有文件名字有Example
的文件,那么grep
命令就可以派上用场了。
区分字符串大小写过滤字符串:
ls | grep Example
不区分大小写过滤字符串:
ls | grep -i Example
查找包含某字符串的文件:
http://einverne.github.io/post/2017/09/grep.html
https://blog.51cto.com/151wqooo/1162118
grep中使用或(or):
https://blog.csdn.net/mmbbz/article/details/51035401
关于grep命令的or,and,not操作的例子
例: 查找/usr/bin
目录下包含c++
或g++
的文件:
cd /usr/bin
ll | grep "c++\|g++"
常用选项用法:
注:多个选项可以叠加在一起起作用
a. 当前目录下是否有包含python
字符串的文件
grep python *
显示字符串所在的行数:-n
选项
grep -n python *
b. **当前目录及子目录下(即递归查找recursive)**是否有包含python
字符串的文件
-r
选项
grep -rn python *
c. 忽略大小写查找
-i
选项:
grep -irn python *
d. 完全匹配某个字符串
-w
选项:
grep -rnw python *
此时只会查找包含完整的python
字符串的行,不会匹配上python2
或python3
等字符串。
e. 查找指定后缀名文件中是否包含某字符串
find ./ -type f -name "*.cpp" -o -name "*.h" | xargs grep -n python
需要结合find
命令来使用,上面这句命令就可以实现查找cpp或h文件中是否包含有python
字符串的功能。
【参考】
find命令
作用: 文件查找命令,可以实现在终端快速查找指定目录下是否包含需要查找的文件或文件夹。
语法格式:
find 搜索路径 [选项] 搜索内容
搜索路径不写的时候默认是当前路径
选项:
-name: 按照文件名搜索;
-iname: 按照文件名搜索,不区分文件名大小;
-inum: 按照 inode 号搜索;
其他用法参考链接:
https://www.cnblogs.com/xudong-bupt/archive/2013/03/23/2976793.html
https://zhuanlan.zhihu.com/p/52746102
https://blog.csdn.net/dcrmg/article/details/78000961
https://wangchujiang.com/linux-command/c/find.html
默认递归查找当前目录及子目录文件:
find . -name "*.cpp"
或
find -name "*.cpp"
只查找当前目录下文件:
find . -maxdepth 1 -name "*.cpp"
只查找文件:
find ./ -type f -name "lidar*"
只查找文件夹:
find ./ -type d -name "lidar*"
查找多个指定后缀文件:
find ./ -name "*.h" -o -name "*.cpp"
其中-o
表示or
,即用来组合不同的后缀格式。
或者写成:
find -type f \( -name "*.png" -o -name "*.jpg" \)
其中f
表示只查找文件,\(
前后是有空格的。
【参考】
systemctl命令
系统控制或系统管理命令
http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html
apt相关命令
https://blog.csdn.net/yjk13703623757/article/details/78945576
https://www.jianshu.com/p/6432015c52a6
tree命令
tree命令可以以树状结构列出文件夹下所有的文件夹和文件。
基础用法:
1、直接终端输入tree
tree
会递归列出所有文件和文件夹。
要注意一般不会直接使用这个命令,特别是当你执行命令的目录下有特别多的文件时,会列出特别多的内容。
2、只列出文件夹
tree -d
3、按不同级别深入列出
例如只列出当前目录下一级内容:
tree -L 1
如果只想列出目录,可以组合命令:
tree -dL 2
【参考】
https://www.jianshu.com/p/ad725577f6bb
scp命令
https://www.runoob.com/linux/linux-comm-scp.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/121229.html