轻松学习命令行基础
2018-08-05 本文已影响48人
养乐多__
Git Bash和cmd都提供了命令行,操作方便非常实用,我们以Git Bash为例来总结一下几个常用的命令。
一、基础知识
-
绝对路径与相对路径的区别:
以/开头的路径就是绝对路径,不是这种开头的就是相对路径。 - Windows系统中,Git Bash可以兼容Linux的命令,而cmd不可以兼容。因此有些命令在cmd中无法运行。
- 一些基本的符号含义:
-
~:用户目录 -
/:根路径,即整个系统 -
.:所在当前目录 -
..:父级目录,即当前目录的上级目录 -
$:提示符,提示可以输入命令了
-
-
tab键——补全命令
回车键——执行命令
二、命令浅析
1. ls
-
ls是list的缩写,即罗列。
用来查看当前目录下的路径,包括目录和文件(不包括隐藏文件,即以.和..开头的文件不显示)。
$ ls
-
ls命令的选项
ls -a:查看当前目录下的所有路径,包括隐藏文件
ls -l:查看当前目录下所有路径的详细信息
ls -al:即ls -a和选项ls -l的集合,查看当前目录下所有路径(包括隐藏文件)的详细信息 - 其他用法
- 若不在想要查看路径的目录下,可以有两种方式查看:
- 用
cd 目录名切换到要查看的目录,再用ls命令进行查看。 - 直接用
ls 目录名的方式查看。
- 用
- 运行ls命令查看详细信息的结果:
管理员的权限、用户所在组的权限、其他人的权限
d:目录,-:文件,r:是否可读,w:是否可写,x:是否可执行
2. cat
-
cat是catch的缩写,表示在标准输出上打印(即查看文件内容)或连接文件。
$ cat 文件名
$ cat 文件名1 文件名2 > 文件名3
-
用法
若文件1.txt内容为Hello;文件2.txt内容为World;
cat 1.txt:显示文件1.txt里的内容,会输出Hello。
cat 1.txt 2.txt > 3.txt:将文件1.txt和2.txt的内容合并起来放入3.txt中,3.txt原先的内容被替代(若3.txt不存在则先创建一个)。这时cat 3.txt,会输出Hello World。
3. mv
-
mv是move的缩写,用来移动、覆盖或重命名文件。
后缀可以随意改变。
$ move 源文件 目标文件
-
用法
默认命令中所用到的文件1.txt和2.txt,文件夹demo都已存在。例:
mv 1.txt demo:将文件1.txt移动到文件夹demo中
mv 1.txt 11.txt:将文件1.txt重命名为11.txt
mv 1.txt 2.txt:文件1.txt被文件2.txt覆盖,即1.txt名字变为2.txt,之前的2.txt消失
4. touch
-
touch:创建文件/改变文件最后更新时间
$ touch 文件名
-
使用情况
例:touch a.txt
1、如果之前没有这个文件,则创建这个文件。
2、若之前这个文件已存在,则改变文件的最后更新时间。
5. mkdir
-
mkdir 目录名:创建目录 -
mkdir -p 目录路径:一次创建多个嵌套目录
例:mkdir -p "demo-1/demo-2/demo-3"
引号加不加都可以,如果命令里有特殊字符(如空格),必须加引号,把它标记为一个整体。
6. echo
-
echo '内容' > 文件路径:用重定向创建文件 -
echo '内容' >> 文件路径:追加文件内容 -
echo '内容' >! 文件路径:强制创建文件
例:echo "hello" > 1.txt 初次创建文件1.txt。
echo "hi" > 1.txt Windows直接用新内容替换掉之前的内容,Linux会报错文件已存在。
echo "haha" >> 1.txt 追加文件内容
echo "world" >! 1.txt Window不可以用,会创建一个以“!”命名的文件;Linux强制重定向,覆盖之前的内容。
7. cp
-
cp 源路径 目标路径:复制文件(若目标路径已存在,直接覆盖)。 -
cp -r 源路径 目标路径:复制目录(-r:递归)
8. rm
-
rm 文件路径:删除文件 -
rm -f 文件路径:强制删除文件(-f:强制)
-
rm -r 目录路径:删除目录( -r:递归) -
rm -rf 目录路径:强制删除目录 (-f:强制)
注:目录只能递归地删除,不加-r,则目录删不掉;不加-f,则会一遍遍地询问是否删除
9. 其他命令
-
cd 目录名:进入目录
例:cd..或cd../:进入上级目录 -
pwd:快速查看当前路径 -
whoami:快速查看用户名 -
tree 目录名:查看目录结构 (Windows不支持) -
ln -s 真实文件 链接:建立软连接(类似于替身,同生同灭,Windows不支持) -
man 命令:查看某个的手册(manu:手册) -
tldr 命令:快速知道一个命令应该怎么用(too long didno't read) -
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:各文件大小 -
start 文件名:打开文件 -
clear:清屏 -
history:查看操作历史
三、explainshell网站用法
我们在学习命令行的过程中,会经常遇到不会用的命令,或不清楚一些命令参数的用法等问题,向大家推荐网站explainshell.com来学习。
- 进入网站,在搜索框输入要查询的命令,以
ls -a为例,并点击EXPLAIN键查询。
搜索框输入查询命令
-
网站给出所查询命令的解释:
查询到的结果
-
点击蓝色命令,便可了解到与此命令相关的知识延伸。
命令延伸