初识命令行

2018-07-03  本文已影响0人  key47

一、常见的命令单词
directory - 目录、文件夹
file - 文件
make - 新建
remove - 删除
move - 移动
copy - 复制
list - 罗列
link - 链接
find - 查找
echo - 发出回音、重复
touch - 触摸
change - 改变

二、缩写
创建目录 - make directory - mkdir
删除 - remove - rm
移动/重命名 - move - mv
复制 - copy - cp
罗列 - list - ls
改变目录 - change directory - cd

缩写的规则就是删掉元音字母(A E I O U),保留前2到3个辅音字母**。

三、常见的自带命令
操作命令进入目录 - cd
显示当前目录 - pwd
创建目录 - mkdir 目录名
创建目录 - mkdir -p 目录路径
我是谁 - whoami
查看路径 - ls 路径
查看路径 - ls -a 路径
查看路径 - ls -l 路径
查看路径 - ls -al 路径
创建文件 - echo '1' > 文件路径
强制创建文件 - echo '1' >! 文件路径
追加文件内容 - echo '1' >> 文件路径
创建文件 - touch 文件名
改变文件更新时间 - touch 文件名
复制文件 - cp 源路径 目标路径
复制目录 - cp -r 源路径 目标路径
移动节点 - mv 源路径 目标路径
删除文件 - rm 文件路径
强制删除文件 - rm -f 文件路径
删除目录 - rm -r 目录路径
强制删除目录 - rm -rf 目录路径
查看目录结构 - tree
建立软链接 - ln -s 真实文件 链接
下载文件 - curl -L https://www.baidu.com > baidu.html
拷贝网页 -wget -p -H -e robots=off https://www.baidu.com (Windows 不支持 wget)
磁盘占用 - df -kh
当前目录大小 - du -sh .
各文件大小 - du -h

四、几个命令的使用
1、ls
ls 其实就是 list 的缩写,意思是罗列。ls命令用来显示目标列表,在Linux中是使用率较高的命令。ls命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件。所以当敲下 ls 命令后,就会显示出当前目录下的所有路径,包括文件和目录。也可以
在 ls 后加上某一个目录的路径,就会显示该目录下的所有文件。
-A:显示除影藏文件“.”和“..”以外的所有文件列表;
-C:多列显示输出结果。这是默认选项;
-l:与“-C”选项功能相反,所有输出信息用单列格式输出,不输出为多列;
-F:在每个输出项后追加文件的类型标识符,具体含义:“”表示具有可执行权限的普通文件,“/”表示目录,“@”表示符号链接,“|”表示命令管道FIFO,“=”表示sockets套接字。当文件为普通文件时,不输出任何标识符;
-b:将文件中的不可输出的字符以反斜线“”加字符编码的方式输出;
-c:与“-lt”选项连用时,按照文件状态时间排序输出目录内容,排序的依据是文件的索引节点中的ctime字段。与“-l”选项连用时,则排序的一句是文件的状态改变时间;
-d:仅显示目录名,而不显示目录下的内容列表。显示符号链接文件本身,而不显示其所指向的目录列表;
-f:此参数的效果和同时指定“aU”参数相同,并关闭“lst”参数的效果;
-i:显示文件索引节点号(inode)。一个索引节点代表一个文件;
--file-type:与“-F”选项的功能相同,但是不显示“
”;
-k:以KB(千字节)为单位显示文件大小;
-l:以长格式显示目录下的内容列表。输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等;
-m:用“,”号区隔每个文件和目录的名称;
-n:以用户识别码和群组识别码替代其名称;
-r:以文件名反序排列并输出目录内容列表;
-s:显示文件和目录的大小,以区块为单位;
-t:用文件和目录的更改时间排序;
-L:如果遇到性质为符号链接的文件或目录,直接列出该链接所指向的原始文件或目录;
-R:递归处理,将指定目录下的所有文件及子目录一并处理;
--full-time:列出完整的日期与时间;
--color[=WHEN]:使用不同的颜色高亮显示不同类型的。</pre>

2、 cat
cat命令连接文件并打印到标准输出设备上,cat经常用来显示文件的内容,类似于下的type命令
作用是可以查看文件内容,从第一行开始显示文件内容, 用法就 cat 文件路径,改文件的内容就会全部显示出来。
-n或-number:有1开始对所有输出的行数编号;
-b或--number-nonblank:和-n相似,只不过对于空白行不编号;
-s或--squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行;
-A:显示不可打印字符,行尾显示“$”;
-e:等价于"-vE"选项;
-t:等价于"-vT"选项;

3、mv
mv 是 move 的缩写,移动的意思。mv命令用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。source表示源文件或目录,target表示目标文件或目录。如果将一个文件移到一个已经存在的目标文件中,则目标文件的内容将被覆盖。
mv命令可以用来将源文件移至一个目标文件中,或将一组文件移至一个目标目录中。源文件被移至目标文件有两种不同的结果:
(1). 如果目标文件是到某一目录文件的路径,源文件会被移到此目录下,且文件名不变。
(2). 如果目标文件不是目录文件,则源文件名(只能有一个)会变为此目标文件名,并覆盖己存在的同名文件。如果源文件和目标文件在同一个目录下,mv的作用就是改文件名。当目标文件是目录文件时,源文件或目录参数可以有多个,则所有的源文件都会被移至目标文件中。所有移到该目录下的文件都将保留以前的文件名。
注意事项:mv与cp的结果不同,mv好像文件“搬家”,文件个数并未增加。而cp对文件进行复制,文件个数增加了。
它的用法很简单,举个例子,在当前目录有一个 a.txt 的文件,然后敲下 mv a.txt b.txt 这段命令,a.txt 文件的名字就会变为 b.txt,简单来说就是重命名。当然,文件的后缀是可以改变的,把 a.txt 改成 b.js 是可以的,甚至不加后缀直接改为 b 也是可以的。
--backup=<备份模式>:若需覆盖文件,则覆盖前先行备份;
-b:当文件存在时,覆盖前,为其创建一个备份;
-f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录;
-i:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入”y”,表示将覆盖目标文件;输入”n”,表示取消对源文件的移动。这样可以避免误将文件覆盖。
--strip-trailing-slashes:删除源文件中的斜杠“/”;
-S<后缀>:为备份文件指定后缀,而不使用默认的后缀;
--target-directory=<目录>:指定源文件要移动到目标目录;
-u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。

4、touch
touch 意思是触摸,它可以用来创建文件和改变文件更新时间。touch命令有两个功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用来创建新的空文件。
先来说创建文件,很简单,敲下 touch 1.txt ,就在当前目录创建了 1.txt 这个文件,但是创建文件更好的方法应该是用重定向 echo '1' > 文件路径。
而 touch 真正的用法,其实是改变文件更新时间。举个例子,当前目录有一个 c.txt 的文件,用 ls -l 可以查看到它 c.txt 的最后更新时间,然后敲下 touch c.txt ,再使用 ls -l 查看,会发现最后更新时间更新了。只是如果当前目录没有该文件的话,就会自动新创建一个。

五、查询网址
推荐一个网站explainshell.com(全英文),是很方便很好用来学习命令行的网站,只要把你想查的那个命令输入进去,就告诉你这个命令和命令的选项的意思是什么。再推荐一个中文界面的也很好用http://man.linuxde.net/

上一篇下一篇

猜你喜欢

热点阅读