文章目录
Linux快捷键以及使用(建议保存收藏,方便随时查阅)
Linux系统学习文档(98页)点击下方链接下载;或留下邮箱@博主发送
1、复制粘贴
现象:在xshell界面中需要用到之前的一段代码,自然是选中,熟练的键入Ctrl+C,打算复制,可是再次键入Ctrl+V时,一点反应都没有,无论怎样尝试都是一样。
原因分析:
在xshell中,Ctrl+C 代表着中断当前指令,与WIndows中的复制的快捷键重复,所以才出现了上述的现象
解决方法:
(1) 使用xshell中的复制粘贴快捷键
复制:Ctrl+Insert
粘贴:ShIft+Insert
(2) 使用鼠标中键
复制:Ctrl+Insert
粘贴:鼠标中键
注意:笔记本电脑中通常INSERT键和PRTSC键是共存的,需要使用组合键Fn才可以使用。复制:Ctrl + Fn + Insert
2、文件的复制、移动与删除命令为:cp,mv,rm
(1) 文件复制命令cp
命令格式:cp [-adfilprsu] 源文件(source) 目标文件(destination)
cp [option] source1 source2 source3 … directory
参数说明:
-a:是指archive的意思,也说是指复制所有的目录
-d:若源文件为连接文件(link file),则复制连接文件属性而非文件本身
-f:强制(force),若有重复或其它疑问时,不会询问用户,而强制复制
-i:若目标文件(destination)已存在,在覆盖时会先询问是否真的操作
-l:建立硬连接(hard link)的连接文件,而非复制文件本身
-p:与文件的属性一起复制,而非使用默认属性
-r:递归复制,用于目录的复制操作
-s:复制成符号连接文件(symbolic link),即“快捷方式”文件
-u:若目标文件比源文件旧,更新目标文件
如将/test1目录下的file1复制到/test3目录,并将文件名改为file2,可输入以下命令:
cp /test1/file1 /test3/file2
(2) 文件移动命令mv
命令格式:mv [-fiv] source destination
参数说明:
-f:force,强制直接移动而不询问
-i:若目标文件(destination)已经存在,就会询问是否覆盖
-u:若目标文件已经存在,且源文件比较新,才会更新
如将/test1目录下的file1复制到/test3 目录,并将文件名改为file2,可输入以下命令:
mv /test1/file1 /test3/file2
(3) 文件删除命令rm
命令格式:rm [fir] 文件或目录
参数说明:
-f:强制删除
-i:交互模式,在删除前询问用户是否操作
-r:递归删除,常用在目录的删除
如删除/test目录下的file1文件,可以输入以下命令:
rm -i /test/file1
实战演练
在home目录下有wwwroot目录,wwwroot下有sinozzz目录,即/home/wwwroot/sinozzz
(1) 目录创建
在/home/wwwroot目录下新建一个sinozzz123的文件夹
mkdir /home/wwwroot/sinozzz123
(2) 目录复制
首先,把/home/wwwroot/sinozzz里面的文件和文件夹等复制到home/wwwroot/sinozzz123目录下
cp -rf /home/wwwroot/sinozzz/* /home/wwwroot/sinozzz123
其次,/home/wwwroot/sinozzz目录复制到/home/wwwroot/sinozzz123目录下,即把sinozzz复制变成sinozzz123的子目录,变成/home/wwwroot/sinozzz123/sinozzz的路径
cp -rf /home/wwwroot/sinozzz /home/wwwroot/sinozzz123
(3) 目录剪切
首先,使用mv命令剪切文件。
如需要将/home/wwwroot/sinozzz123/music/目录下的1.mp3文件剪切到/home/wwwroot/sinozzz123/abc目录下,执行下面的命令即可:
mv /home/wwwroot/sinozzz123/music/1.mp3 /home/wwwroot/sinozzz123/abc
其次,使用mv命令剪切文件夹。
把/home/wwwroot/sinozzz123/soft文件夹剪切到/home/wwwroot/sinozzz123/abc目录下
mv /home/wwwroot/sinozzz123/soft /home/wwwroot/sinozzz123/abc
再次,使用mv命令剪切文件夹和文件
把/home/wwwroot/sinozzz123/photo/下的文件夹和文件剪切到/home/wwwroot/sinozzz123/abc目录下
mv /home/wwwroot/sinozzz123/photo/* /home/wwwroot/sinozzz123/abc
(4) 目录重命名
在linux下,移动文件跟重命名都是同一个命令,mv(就是move的意思)
命令: mv 源文件名 目标文件名
首先,把/home/wwwroot/sinozzz123/index.htm重命名为/home/wwwroot/sinozzz123/index.html
mv /home/wwwroot/sinozzz123/index.htm /home/wwwroot/sinozzz123/index.html
其次,把/home/wwwroot/sinozzz123目录重命名为/home/wwwroot/sinozzz456
mv /home/wwwroot/sinozzz123 /home/wwwroot/sinozzz456
(5) 目录删除
linux删除目录很简单,很多人还是习惯用rmdir,不过一旦目录非空,就陷入深深的苦恼之中,现在使用rm -rf命令即可。
直接rm就可以了,不过要加两个参数-rf
即:rm -rf 目录名字
-r 就是向下递归,不管有多少级目录,一并删除
-f 就是直接强行删除,不作任何提示的意思
1>>. 删除文件使用实例:
rm -f /home/wwwroot/sinozzz456/index.html
将会强制删除/home/wwwroot/sinozzz456/index.html这个文件
2>>. 清空文件夹实例:
rm -rf /home/wwwroot/sinozzz456/abc/*
将会强制删除/home/wwwroot/sinozzz456/abc目录下所有文件、文件夹,保留/home/wwwroot/sinozzz456/abc目录
3>>. 删除文件夹实例:
rm -rf /home/wwwroot/sinozzz456
将会强制删除/home/wwwroot/sinozzz456目录以及其下所有文件、文件夹。
需要提醒的是:使用这个rm -rf的时候一定要格外小心,linux没有回收站的。
当然,rm还有更多的其他参数和用法,man rm就可以查看了。
如果是在/home/wwwroot/目录下进行操作,则可以省去每个命令的/home/wwwroot/部分。
3、vim中的单行注释与多行注释
多行注释
在linux的Terminal里,
(1) 首先打开vi编辑器;
(2) 移动鼠标到要注释的首行;
(3) 接着按Ctrl+v (windows 下 ctrl-q)开启列模式,然后进行上下移动选择多行:按j或k上下移动,或者上下箭头。(选择文件全文shift+g,可以看到选中文件的行首有明显的变化);
(4) 按Shift+i进入编辑模式,在第一行输入注释符号,"//",“/*”或者“#”;
(5) 最后按Esc键退出,大概不到1秒钟所有选中的行都被加上了注释 。
参考:https://blog.csdn.net/jgm20475/article/details/81568989?utm_medium=distribute.pc_relevant.none-task-blog-baidujs-2
多行注释的取消
(1) 、(2) 、(3) 前三步同上 多行注释
(4) 选择要删除的字符,按下 d 删除 “//”,“/*”或者“#”;
(5) 按 esc 退出,大概不到1秒钟所有选中的行都被取消了注释。
参考:https://www.cnblogs.com/chungeyuan/p/11374776.html
4、Linux 系统版本查询命令
- uname -a (Linux查看版本当前操作系统内核信息)
- cat /proc/version (Linux查看当前操作系统版本信息)
- cat /etc/issue 或 cat /etc/redhat-release (Linux查看版本当前操作系统发行版信息)
- cat /proc/cpuinfo (Linux查看cpu相关信息,包括型号、主频、内核信息等)
- getconf LONG_BIT (Linux查看版本多少位)
- lsb_release -a (CentOS 6.9版本需要安装lsb,CentOS 7.0以上直接可以使用,网上都说Linux都支持,我只验证过CentOS系统)
5、tree
(1) 安装——利用yum安装tree命令
sudo yum -y install tree
(2) tree命令
tree命令,是大小写敏感的。常用的是:
1.tree -C 颜色显示
2.tree -f 显示文件全路径
3.tree -L 2 只显示2层
4.tree -P .pl 只显示文件目录和.pl的perl文件。
5.tree -F 显示目录后面的\;显示可执行文件*;功能类似ls -F
6.tree –help 帮助手册。ps:linux所有命令,都可以用–help去扩展思路。
总结: tree -FC应该是最最常用的。
6、scp
scp命令 – 文件传输
scp命令用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。当你服务器硬盘变为只读read only system时,用scp可以帮你把文件移出来。另外,scp还非常不占资源,不会提高多少系统负荷,在这一点上,rsync就远远不及它了。虽然 rsync比scp会快一点,但当小文件众多的情况下,rsync会导致硬盘I/O非常高,而scp基本不影响系统正常使用。
-
参数
源文件:指定要复制的源文件。
目标文件:目标文件。格式为user@host:filename(文件名为目标文件的名称)。 -
实例:
- 从远处复制文件到本地目录
scp root@10.10.10.10:/opt/soft/nginx-0.5.38.tar.gz /opt/soft/
从10.10.10.10机器上的/opt/soft/的目录中下载nginx-0.5.38.tar.gz 文件到本地/opt/soft/目录中。
- 从远处复制到本地
scp -r root@10.10.10.10:/opt/soft/mongodb /opt/soft/
从10.10.10.10机器上的/opt/soft/中下载mongodb目录到本地的/opt/soft/目录来。
- 上传本地文件到远程机器指定目录
scp /opt/soft/nginx-0.5.38.tar.gz root@10.10.10.10:/opt/soft/scptest
复制本地/opt/soft/目录下的文件nginx-0.5.38.tar.gz到远程机器10.10.10.10的opt/soft/scptest目录。
- 上传本地目录到远程机器指定目录
scp -r /opt/soft/mongodb root@10.10.10.10:/opt/soft/scptest
上传本地目录/opt/soft/mongodb到远程机器10.10.10.10上/opt/soft/scptest的目录中去。
参考:https://man.linuxde.net/scp
7、Linux 查看磁盘空间
- df
df 以磁盘分区为单位查看文件系统,可以获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
例如,我们使用df -h命令来查看磁盘信息, -h 选项为根据大小适当显示:
显示内容参数说明:
Filesystem:文件系统
Size: 分区大小
Used: 已使用容量
Avail: 还可以使用的容量
Use%: 已用百分比
Mounted on: 挂载点
相关命令:
df -hl:查看磁盘剩余空间
df -h:查看每个根路径的分区大小
du -sh [目录名]:返回该目录的大小
du -sm [文件夹]:返回该文件夹总M数
du -h [目录名]:查看指定文件夹下的所有文件大小(包含子文件夹)
- du
du 的英文原义为 disk usage,含义为显示磁盘空间的使用情况,用于查看当前目录的总大小。
例如查看当前目录的大小:
# du -sh
605M .
显示指定文件所占空间:
# du log2012.log
300 log2012.log
查看当前文件夹下每个文件大小
du -sh *
8、ls-lh
- ls -l命令如何让文件大小以M或者K为单位来显示?加上-h
加上-h命令就可以 -h for human-readable 人性化阅读
- 以M为单位显示文件大小
ls -l --block-size=M
9、linux删除目录下文件|删除文件保持目录结构|各种删除方法总结
https://blog.csdn.net/craftsman2020/article/details/109348829
10. tar压缩和解压
- 打包压缩
tar -zcvf pack.tar.gz pack/ #打包压缩为一个.gz格式的压缩包
tar -jcvf pack.tar.bz2 pack/ #打包压缩为一个.bz2格式的压缩包
tar -Jcvf pack.tar.xz pack/ #打包压缩为一个.xz格式的压缩包
- 解包解压
tar -zxvf pack.tar.gz /pack #解包解压.gz格式的压缩包到pack文件夹
tar -jxvf pack.tar.bz2 /pack #解包解压.bz2格式的压缩包到pack文件夹
tar -Jxvf pack.tar.xz /pack #解包解压.xz格式的压缩包到pack文件夹
11. find
将当前目录及其子目录下所有文件后缀为 .c 的文件列出来:
find . -name *.c
12. chmod,chown和chgrp
-
chown
用来更改某个目录或文件的用户名和所属用户组。
chown 用户名:组名 文件路径(可以是绝对路径也可以是相对路径)
例1:chown root:root /tmp/tmp1
就是把tmp下的tmp1的用户名和用户组改成root和root(只修改了tmp1的属组)。
例2:chown -R root:root /tmp/tmp1
就是把tmp下的tmp1下的所有文件的属组都改成root和root。
例3:如果想要把以testDir开头的所有目录的用户组都设置为zhangsan,可以这样操作:chown -R root.zhangsan testDir* chmod -R 750 testDir*
-
chmod
用于修改某个目录或文件的访问权限。
语法:chmod [-cfvR] [–help] [–version] [who] [+ | - | =] [mode] 文件名
例1:
chmod -R 777 /home/wl
表示给/home/wl目录赋予满权限,-R即递归(作用到该目录下的所有文件) -
chgrp
改变文件所属用户组。
命令格式为:chgrp 用户名 文件或目录。如:
chgrp wl test
表示将test文件的所属用户组改为wl
如果目录 testDir的所有者lisi希望 testDir目录能被用户组zhangsan访问,而不被其他用户组访问,那么可以这样设置:chgrp -R zhangsan testDir chmod -R 750 testDir
表示将testDir目录的所属用户组改为zhangsan
如果想要把以testDir开头的所有目录的用户组都设置为zhangsan,可以这样操作:chgrp -R zhangsan testDir* chmod -R 750 testDir* # 或 chgrp zhangsan testDir* -R chmod 750 testDir* -R # 等同于 chown -R root.zhangsan testDir* chmod -R 750 testDir*
附录
Windows常用指令
https://blog.csdn.net/craftsman2020/article/details/107289480
linux命令大全:
https://man.linuxde.net/
https://www.runoob.com/linux/linux-command-manual.html
http://c.biancheng.net/linux_tutorial/14/