一、精选命令
Ctrl+Alt+T:运行终端
CTRL + Shift + T:新建标签页。
Ctrl+Shift+C/V:在终端上复制/粘贴
Ctrl+L:显示当前文件夹的地址栏,按ESC恢复
Tab:终端上自动补全命令名或文件名
Ctrl+H:单次显示当前隐藏文件。永久显示,则需 参考
pwd:查看当前路径命令
F2:重命名。
top:查看内存、cpu等使用情况。
clear或reset:终端清屏,后者更彻底。前者与Ctrl + L 是等价的。
pwd:显示当前路径。
nvidia-smi:查询GPU使用情况。
rm+文件名:删除文件,可加 -fr 参数,f表示强制,r表示递归。
sudo passwd root:创建超级用户密码
su:转为超级用户。用 exit 退出,或者:su 用户名,转具体用户。
ctrl + r:查找以前终端用过的命令。
Ctrl + alt + Backspace:按词删除。
Ctrl+k 剪切此处至末尾的所有内容
Ctrl+u 剪切此处至开始的所有内容
Ctrl + Shift + F:终端内容查找。
Alt-r 撤销对本行所做的所有操作。
Ctrl + / 撤销刚才的输入。它是以是否按了TAB,END等操作键来区分上一次输入的。撤销后,没有前进的功能,所以慎重使用。
Ctrl+PageUp/PageDown:移动到上/下一个标签
Ctrl+Shift+O:水平分割终端
Ctrl+Shift+E:垂直分割终端
Ctrl+Shift+X:切换显示当前窗口(当前终端会变大,再次按恢复)
Ctrl+Shift+W:关闭当前终端。
Ctrl+Shift+Q:退出当前窗口,当前窗口的所有终端和标签页都将被关闭。
df -h:显示磁盘的使用情况
du -sh:显示当前文件夹的大小
ls -l 文件名:显示特定文件的大小
vim跳到文本的最后一行:按“shift+g”
touch 文件名:创建一个空文件
readlink -f 文件名:获取文件真实路径(绝对路径)
Ctrl+windows键+左右方向键:左右边半屏
按住win键(即super键):显示ubuntu的全体快捷键
super + 数字:快速打开任务栏对应的软件。
ln -s 源文件 目标文件 :建立软链接。
二、实用命令
一些ubuntu命令语法的学习,或者很小型的插件。上一章节是从这里精选出来的。
有空多学下这个博客
1、切分、合并文件
(1)切分文件 参考
split -b 100m 1111.log (按照字节分隔)
split -l 1000000 1111.log(按照行数分隔)
(2)合并文件 参考1、参考2-文件交集/并集/去重复行
cat file1.txt file2.txt > file.txt : 将file1.txt和file2.txt合并到file.txt
cat file1.txt >> file2.txt: 将file1.txt追加到file2.txt的末尾
2、scp、rsync、cp、ftp等文件传输命令 参考 参考2
优先熟悉使用scp、rsync。不用学cp。
关于是否启用压缩
1.压缩只有在网络传输速度非常慢,以致于压缩后节省的传输时间大于压缩本身的时间。
2.压缩比很低的数据,不要再启用压缩(例如已经压缩过的数据、视频等)。
3.通常建议,传输前先压缩,而不是使用ssh的压缩;建议使用pigz/lbizp2等并行压缩工具。
(1)rsync参考1 参考2
-z 开启压缩
-v 详情输出
-r 表示递归
-a : archive mode 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD。仅仅去掉-l,就会跳过软链接的文件。而如果-l改为-L参数就能拷贝软连接里面的内容。参考
–bwlimit 限速参数,单位kB/s。如果2MB/s是目标。估计能到2 000。1B=1byte=8b=8bit。
–progress 在传输时现实传输过程,相当于进度条。
–exclude=PATTERN 指定排除不需要传输的文件模式 参考
端口号、私钥文件,这两个可以在ssh的配置文件中设置,不用在这调参数。
# 从本地上传到服务器。限制速度 300kB 的例子。排除dataset这个文件夹。
rsync -avz --progress --bwlimit=300 --exclude=dataset humansegmentation username@172.??.??.4:/home/username
# 可以多份文件一起传送,我认为它会根据:来进行识别。
rsync -avz humansegmentation aa.txt bb.txt username@172.??.??.4:/home/username
注:
(1)不要再文件夹名后面加 / 符号,我实践结果是:虽然不报错,但同步不了该文件夹。
(2) 最后一个参数是目录名字,然后把前一个参数的名字加到该目录名字上。所以下面会出现重叠名字 xxx/hand_segment/hand_segment 的问题
rsync -avz xxx@xxx:/data1/xxx/hand_segment /media/xxx/private/hand_segment
(2)scp
常用参数:
-C 允许压缩。
-p 保留原文件的修改时间,访问时间和访问权限。
-r 递归复制整个目录。
-l limit: 限定用户所能使用的带宽,以Kbit/s为单位。
-q 不显示传输进度条。
下面三个是指定端口、ssh私钥文件、ssh配置文件的:
-F ssh_config: 指定一个替代的ssh配置文件,此参数直接传递给ssh。
-i identity_file: 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
-P port:注意是大写的P, port是指定数据传输用到的端口号
scp -Cpr user@host:~/ufile .
(3)cp 参考
常用参数:
-a:此参数的效果和同时指定"-dpR"参数相同。
-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录。
-f:强行复制文件或目录,不论目标文件或目录是否已存在。
-p:保留源文件或目录的属性。
cp -a test/ newtest
3、time命令:用于打印出一条命令或一个程序的执行时间 参考1 参考2
time cp /home/h /home/Documents
# 输出的real代表的是程序从开始到结束的全部时间,即使程序不占CPU也统计时间。而user+sys是程序占用CPU的总时间,因此real总是大于或者等于user+sys的。
4、压缩文件
注意:
(1)如果非tar,仅gzip、bzip2,就自己查鸟哥书籍。
(2)不用学习-P大写,它是绝对路径的功能。解压会导致覆盖原数据的。只要没有-P,压缩都是去掉根目录了,解压规范就不会覆盖原数据。
(3)被压缩的文件,如果写成路径的形式,就会逐级新建文件夹的。
规范:不写路径,用cd打开到要压缩的文件,然后直接用该文件名进行压缩。
(4)其他拓展功能见鸟哥书籍,包括:大压缩包里面解压单一文件、选择目录下的部分文件压缩、备份系统设备镜像等特殊文件。
tar参数:
三种模式,仅能存在一个
-c :建立一个压缩文件(create 的意思);
-x :解压一个压缩文件!
-t :查看 tarfile 里面的文件!
重要参数:
-z :具有 gzip 的属性,后缀名.gz。
-j :具有 bzip2 的属性,后缀名.bz2。
-v :压缩的过程中显示文件
-f :使用档名,请留意,在 f 之后要立即接文件名,不要再加参数!
其它有用可选参数:
-C 大写:后接目录,用于解压时指定输出目录。
-p 小写:压缩时,保留备份数据的原本权限与属性。
tar+bzip2的例子【如果想gzip,参数j换成z,后缀名bz2换成gz】:
压缩:tar -jcv -f filename.tar.bz2 filename-要被压缩的文件或目录名称
查询:tar -jtv -f filename.tar.bz2
解压缩:tar -jxv -f filename.tar.bz2 -C filename-欲解压到的目录
(2)zip 参考
压缩
:它会将 test.txt 文件压缩为 test.zip ,当然也可以指定压缩包的目录,例如 /root/test.zip
(1)压缩文件:
zip test.zip test.txt
(2)压缩文件夹:
zip one_dir.zip one_dir/* #有one_dir目录
与 cd one_dir; zip ../one_dir.zip * #无one_dir目录
(3)多个源目标:
zip one_dir.zip 源文件名1 源文件名2 源文件夹1 源文件夹2
解压
:默认将文件解压到当前目录,如果要解压到指定目录,可以加上 -d 选项
unzip test.zip
unzip test.zip -d /root/
(3)各种压缩格式的区别 参考
zip兼容性最好。国外的朋友几乎不用rar。
rar独有格式也很好,带恢复,分卷稳定。速度和压缩比都尚可。
7z是比较常见的高压缩率速度也平衡的格式。
tar.gz在linux系统下用得多,但是在windows下普及率不高。
不同软件压缩、解压的速度也会因为优化而不同,综合来说7z是最常用最好用的格式。
6、ssh命令
(1)生成密钥:参考1
可以直接输入ssh-keygen 生成密钥。接着它会让你输入一个密码(可选为空),它用来加密私钥的。而公钥是可以发出去给别人的。
注:重新生成公私钥时,记得删除know_host。这个可能有用,不确定。
(2)远程登录 参考
登陆命令格式为:ssh 帐号@IP地址
例如:ssh Tom@192.168.135.249
(3)退出远程,用exit
(4)远程显示图片