我们可以在cmder中通过命令行来实现文件的“增删查改”
一.查
查主要分为“查看绝对路径”,“查看当前目录内容”,“查看文件内容”三种
1.查看绝对路径。
当进入cmder后,我们要做的第一件事就是查看我们当前所在的位置,我们可以利用pwd来查看。
HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ pwd
/c/Users/HUANG/Desktop/p即我们现在就在用户目录桌面下的p文件夹。值得注意的是一般常用“~”来表示/c/Users/HUANG/Desktop
2.查看当前目录内容。
确定完我们所在的路径之后,我们可以查看当前目录下的文件有哪些,我们可以利用ls来查看
HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ ls
1.txt a/ index.html main.js style.css我们可以看到当前文件夹内有"1.txt","index.html","main.js","style.css"以及"文件夹a"。
3.查看文件内容。
我们可以通过"cat","head","tail"以及"less"来查看文件内容。
"cat"用来查看文件内所以内容。
HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ cat 1.txt
1
2
3
4
5
6
7
8
9
10
----------------------------------
1
2
3
4
5
6
7
8
9
10
----------------------------------我们看到,当使用"cat"来查看文件内内容时,文件内的所有内容都会显示出来,然而我们有时并不需要查看文件内的全部内容,当文件内内容过长时,使用"cat"会很吃力,所以我们需要用到"head","tail"和"less"。
"head"可以查看文件内前10行的内容。或使用"head 1.txt -n X"来查看前X行内容。
HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ head 1.txt
1
2
3
4
5
6
7
8
9
10HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ head 1.txt -n 12
1
2
3
4
5
6
7
8
9
10
----------------------------------
1"tail"与"head"同理,只不过"tail"是查看文件后X行内容。
HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ tail 1.txt
2
3
4
5
6
7
8
9
10
----------------------------------HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ tail 1.txt -n 12
----------------------------------
1
2
3
4
5
6
7
8
9
10
----------------------------------"less"则可以通过键盘上的方向键来实现翻页观看。观看结束后可通过键盘上的"Q"来退出.
HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ less 1.txt二.增
“增”主要有以下几种操作:包括touch,echo,mkdir,cp等
1.touch
"touch"可以用来新建空文件。
例如:touch 1.txt,即创建一个名字为1的txt文件。
HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ touch 1.txt
HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ ls
1.txt2.echo
"echo"与"touch"只能创建一个空文件不同,它可以创建一个有内容的文件。
例如:echo 123 > 1.txt,即创建一个内容"123"的1.txt文件。
HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ echo 123 > 1.txt
HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ cat 1.txt
123此外我们还可以通过 echo 456 >> 1.txt,往1.txt内追加内容
HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ echo 456 >> 1.txt
HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ cat 1.txt
123
456HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ echo -e "789\n101112" >> 1.txt
HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ cat 1.txt
123
456
789
1011123.mkdir
mkdir即make directory。我们可以通过mkdir来创建一个/多个文件夹。
HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ ls
HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ mkdir a b c
HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ ls
a/ b/ c/我们也可以通过mkdir来创建一个多层级目录。
HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ mkdir -p a/b/c/d
HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ ls
a/
HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ cd a
HUANG@DESKTOP-T1ADIRC ~/Desktop/p/a
λ ls
b/4.cp
cp即copy。我们可以通过"copy"来拷贝一份文件或一个文件夹。
例如:cp 1.txt 2.txt,即拷贝一份1.txt并命名为2.txt。
cp -r a b 即为复制一份a文件夹,并将其命名为b。(-r表递归)
HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ ls
1.txt
HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ cp 1.txt 2.txt
HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ ls
1.txt 2.txtHUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ ls
a/
HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ cp -r a b
HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ ls
a/ b/三.删
删除一般分为”删除文件“,”删除文件夹“。
1.删除文件
删除文件我们一般使用"rm"。
例如:rm 1.txt,或rm -f 1.txt,即表示删除/强制删除1.txt。
HUANG@DESKTOP-T1ADIRC ~/Desktop/p/a
λ ls
1.txt
HUANG@DESKTOP-T1ADIRC ~/Desktop/p/a
λ rm 1.txt
HUANG@DESKTOP-T1ADIRC ~/Desktop/p/a
λ ls2.删除文件夹
删除文件夹我们一般使用"rm -r"
例如:rm -r a,或rm -rf a,即表示删除/强制删除文件夹a
HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ ls
a/
HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ rm -r a
HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ ls四.改
改主要有”修改文件名“,”修改文件内容“,”修改文件所在目录“,”修改文件更新时间“。
1.修改文件名
我们可以使用mv来修改文件名。
例如:mv 1.txt 2.txt,即表示将1.txt更名为2.txt。(文件夹中需无2.txt,否则会将2.txt覆盖)
HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ ls
1.txt
HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ mv 1.txt 2.txt
HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ ls
2.txt2.修改文件内容
我们可以使用命令行来打开某个软件来修改相应文件。
例如:code 1.txt或start 1.txt,即用code打开1.txt或使用默认软件打开1.txt。
HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ code 1.txtHUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ start 1.txt当我们想清除某个文件内所有内容时,我们可以向其echo一个空字符串。
HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ cat 1.txt
这是1.txt中的内容
HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ echo "" > 1.txt
HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ cat 1.txt
3.修改文件所在目录
和”修改文件名“一样,我们可以通过mv来修改文件所在目录。
例如:mv 1.txt a,即表示将当前目录中的1.txt移动到a文件夹中。
mv a/1.txt .,即表示将a文件夹中的1.txt移动到上一级目录中。
HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ ls
1.txt a/
HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ mv 1.txt a
HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ cd a
HUANG@DESKTOP-T1ADIRC ~/Desktop/p/a
λ ls
1.txtHUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ ls
a/
HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ mv a/1.txt .
HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ ls
1.txt a/4.修改文件更新时间
我们可以"touch"一下文件来更新其更新时间。
HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ ls -l
total 1
-rw-r--r-- 1 HUANG 197121 4 3月 29 18:59 1.txt
HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ touch 1.txt
HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ ls -l
total 1
-rw-r--r-- 1 HUANG 197121 4 3月 29 19:00 1.txt当我们使用命令行时,可能会遇到以下问题:
1.当我们需要输入大量命令时,我们可以通过"&&"或者";"来连接代码。
a "&&" b表示a代码执行成功后在执行b代码
a; B表示执行a代码然后在执行b代码
2.命令行的命令执行成功后不会像图形界面有直观的感受,他什么都不会返回,所以我们 可以通过"echo $?"来查看命令是否执行成功;当返回error或一个非0的值时,表示执行失败。
当我们将以上“增删查改”的方法结合起来以后,我们可以制作一个简单的脚本。
我们可以写一个自动创建一个内含"index.html","style.css","main.js"的文件夹,其中index.html中含有文本。
HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ touch key
HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ code key
mkdir $1
cd $1
touch index.html
touch style.css
touch main.js
echo 这是index.html中的文本 > index.htmlHUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ chmod +x key
HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ sh key xxx
HUANG@DESKTOP-T1ADIRC ~/Desktop/p
λ cd xxx
HUANG@DESKTOP-T1ADIRC ~/Desktop/p/xxx
λ ls
index.html main.js style.css当我们将"key"所在的路径加入到环境变量后,我们就无需在"key"前加上"sh"或"./"了,可以和"ls"等命令一样,在任何环境下进行响应,所以"ls"等命令其实和"key"一样,都是一个类似脚本的文件,且其路径在环境变量中。
我们甚至可以自行建立一个相应的文件对其进行劫持。