pojin (ID: 1)
头衔:论坛坛主
等级:究级天王[荣誉]
积分:2826
发帖:230 篇
来自:保密
注册:2023-12-09 09:36:49
造访:2026-05-05 13:56:22
发帖:230 篇
来自:保密
注册:2023-12-09 09:36:49
造访:2026-05-05 13:56:22
[ 第 1 楼 ]
307
回复
1. 打印出当前在 terminal session 中登陆的用户名
2. 打开帮助手册,查看如何使用某个命令
3. 清空指令,清除前面的所有命令
可选项: clear -x ,这样原来的指令还可以上滑找到
4. pwd
打印当前的文件路径
5. ls
在一个文件夹里时,打印这个文件夹里所有的文件
ls /bin 如果在后面加上一个文件名,它也会打印出这个文件夹里的内容。如果在当前文件夹里,可以用相对路径,否则要绝对路径(/ 开头,表示根路径)。
ls -a -l:可以看到所有文件(包括 . 开头的文件),一行一行地显示(这样很清楚!)
ls -lh:这个最实用,可以显示文件的大小(以 human 阅读的方式,即 KB, MB, GB),并逐行显示。
6. cd
cd .. 返回上级菜单(注意,cd 和 .. 之间要有空格!!)
cd </path> 可以直接跳转到需要的路径
7. mkdir
创建文件夹
mkdir fruits
还可以用一行指令创建多个文件夹
mkdir dogs cars
还可以创建多层的文件夹,通过添加 -p 指令:
mkdir -p fruits/apples,注意这里, -p 表示 -parent。如果没有父文件会创建父文件。
8. touch
使用 touch 创建一个空文件(可指定类型),或者更新文件的时间戳
touch apple
也可以指定文件的类型:touch melon.txt
可以指定任何类型的空文件:touch apple.pdf
touch berry.png
而如果这个文件已经存在,命令则以修改模式 write mode 打开这个文件名,并且更新文件的时间戳。
9. rmdir
类似我们用 mkdir 创建文件夹,我们用 rmdir 删除一个文件夹
mkdir fruits
rmdir fruits
也可以一次性删除多个文件夹,只需要把文件夹的名字列在后面就行了:
mkdir fruits cars
rmdir fruits cars
注意:你删除的文件夹必须是空的!
对于内含文件内容的文件夹,我们用更为通用的 rm 命令来同时删除文件和文件夹
10. rm
删除文件或者文件夹。
逐个删除文件:
rm carrot cat.png dog.pdf
如果在命令中加 -v 则可以查看 verbose 信息,即打印出具体删除了哪些文件
rm -v cat dog carrot
删除文件夹和里面的文件:需要增加 -r,表示迭代地删除。否则会报错:rm xxx: is a directory
rm -r seeds
加 -rv 则可以在迭代删除的过程中,查看 verbose 信息,打印出删除了哪些文件
rm -rv seeds
加 -ri 会逐个确认文件夹里的每个文件是否删除,这样可以选择部分不删除
rm -ri animals
11. open
使用 open 指令可以让你打开一个文件:
open <filename>
你也可以打开一个目录,比如在 macOS 中会用你输入的目录路径打开 Finder app 程序:
open <directory name>
而使用 open . 则可以直接用 Finder 打开当前路径(超实用!):
open .
12. mv
当你有一个文件,你可以使用 mv 指令移动它。需要指定这个文件当前的路径,以及它的新路径。
如果未指定路径,而是文件名,则相当于 rename 修改文件名:
touch pear
mv pear new_pear
如果指定路径,则会将文件存进文件夹里
mv purple.txt testfile
如果增加 -v 则可以显示 verbose 信息,打印文件是如何移动的
mv -v purple.txt testfile
也可以修改文件夹的名称:
mv stuff/ STUFF
移动文件夹的地址,比如将文件夹地址放到上一层级:
mv -v testfile/Stuff ../
13. cp
你可以用 cp 指令拷贝一个文件:
touch test
cp apple another_app
若要拷贝文件夹,你需要添加一个 -r 的选项来递归地拷贝整个文件夹中的内容:
mkdir fruits
cp -r testfile another_testfile
还可以既拷贝、又改名、又移动位置:
cp testfile/red.png another_testfile/red2.png
14. head
输出文件的第一部分,使用 -n 可以指定长度
head SongOfMyself.txt
15. tail
类似 head 的功能,输出文件的末尾内容。
16. date
打印当前的系统时间
date
还可以通过 > 或者 >> 指令将 date 信息写入 .txt 文件:
覆盖原有内容:date > today.txt
在原有基础上添加:date >> today.txt
现在查看现在这个文件的前几行:
head today.txt
17. cat
名字的全称: cat – concatenate and print files
和 head/tail 的功能有些相似,与之不同的是 cat 可以在一个 file 中添加内容,这让这个指令非常有用。
打印文档的所有内容:
cat spring.txt
如果在前面加 -n,可以显示行号
cat -n spring.txt
打印两个文档的额所有内容:
cat spring.txt today.txt
还可以通过前面学的 > 指令,将多个文件的内容写入到创建的新文件中:
cat spring.txt today.txt > everything.txt
18. less
也是用来查看文件内容的,但相比于 head/tail, cat 等,有更好的 UI,效果和用 man 指令的效果类似。
按 q 可以退出显示页面,这样主页面就不会被大量的文本内容淹没了。
其他小指令:
按 g 可以跳到开头;
按 G 可以跳到结尾。
19. echo
这个指令只做一件简单的事:把输入的文本打印下来:
echo "hello"
不是很有用。但是可以结合 > 指令来迅速创建一个包含少量文本的文件(这个比较实用~):
echo "hello" > echo.txt
并且还能通过 >> 重复上述步骤来给这个 .txt 文件添加多行:
echo "the second line" >> echo.txt
20. wc
指令的全名:word count
这个指令给我们某个文件或者通过它从 pipes 接收到的指令中的有用的信息。
wc mySongLyrics.txt
输出:1757 15767 87022 mySongLyrics.txt
第一个表示有多少行,第二个表示有多少字,第三个表示多少字节,第四个是文件名
若添加 -l 可以只看有多少行;
若添加 -w 可以只看有多少字。
通过 pipes 的方式,它还可以结合其他语句,比如:
输出某个文件有多少行:
cat spring.txt | wc -l
21. sort
排序文件中的内容。也可以类似 wc,用 pipe 的方式使用
大小写是大写在前,但也可以通过附加指令忽略大小写。
数字排序要加 -n,否则会按照首数字排序:
cat nums.txt
sort -n nums.txt
如果只打印出 unique 的值的排序结果,可在前面加 -nu :
sort -nu nums.txt
用 pipe 的方式使用,结合 cat 的多个文件:
cat nums1.txt nums2.txt | sort
还可以用 pipe 的方式,直接和 wc 一起使用,统计有多少不一样的行:
sort -nu nums.txt | wc -l
22. uniq
删除挨在一起的重复的内容,注意如果不挨在一起不会删除。因此需要先排序,再 uniq。
结合 pipe 的方法:
sort favflavor.txt | uniq
效果和 sort -u 是一样的。
不过 uniq 还是有它的独家功能:
-d:只选出有重复项的:
sort favflavor.txt | uniq -d
-u:只选出没有重复项的:
sort favflavor.txt | uniq -u
-c:对所有项的频数统计:
sort favflavor.txt | uniq -c
统计后,再排序:
sort favflavor.txt | uniq -c | sort -nr
whoami2. 打开帮助手册,查看如何使用某个命令
man3. 清空指令,清除前面的所有命令
可选项: clear -x ,这样原来的指令还可以上滑找到
clear4. pwd
打印当前的文件路径
5. ls
在一个文件夹里时,打印这个文件夹里所有的文件
ls /bin 如果在后面加上一个文件名,它也会打印出这个文件夹里的内容。如果在当前文件夹里,可以用相对路径,否则要绝对路径(/ 开头,表示根路径)。
ls -a -l:可以看到所有文件(包括 . 开头的文件),一行一行地显示(这样很清楚!)
ls -lh:这个最实用,可以显示文件的大小(以 human 阅读的方式,即 KB, MB, GB),并逐行显示。
6. cd
cd .. 返回上级菜单(注意,cd 和 .. 之间要有空格!!)
cd </path> 可以直接跳转到需要的路径
7. mkdir
创建文件夹
mkdir fruits
还可以用一行指令创建多个文件夹
mkdir dogs cars
还可以创建多层的文件夹,通过添加 -p 指令:
mkdir -p fruits/apples,注意这里, -p 表示 -parent。如果没有父文件会创建父文件。
8. touch
使用 touch 创建一个空文件(可指定类型),或者更新文件的时间戳
touch apple
也可以指定文件的类型:touch melon.txt
可以指定任何类型的空文件:touch apple.pdf
touch berry.png
而如果这个文件已经存在,命令则以修改模式 write mode 打开这个文件名,并且更新文件的时间戳。
9. rmdir
类似我们用 mkdir 创建文件夹,我们用 rmdir 删除一个文件夹
mkdir fruits
rmdir fruits
也可以一次性删除多个文件夹,只需要把文件夹的名字列在后面就行了:
mkdir fruits cars
rmdir fruits cars
注意:你删除的文件夹必须是空的!
对于内含文件内容的文件夹,我们用更为通用的 rm 命令来同时删除文件和文件夹
10. rm
删除文件或者文件夹。
逐个删除文件:
rm carrot cat.png dog.pdf
如果在命令中加 -v 则可以查看 verbose 信息,即打印出具体删除了哪些文件
rm -v cat dog carrot
删除文件夹和里面的文件:需要增加 -r,表示迭代地删除。否则会报错:rm xxx: is a directory
rm -r seeds
加 -rv 则可以在迭代删除的过程中,查看 verbose 信息,打印出删除了哪些文件
rm -rv seeds
加 -ri 会逐个确认文件夹里的每个文件是否删除,这样可以选择部分不删除
rm -ri animals
11. open
使用 open 指令可以让你打开一个文件:
open <filename>
你也可以打开一个目录,比如在 macOS 中会用你输入的目录路径打开 Finder app 程序:
open <directory name>
而使用 open . 则可以直接用 Finder 打开当前路径(超实用!):
open .
12. mv
当你有一个文件,你可以使用 mv 指令移动它。需要指定这个文件当前的路径,以及它的新路径。
如果未指定路径,而是文件名,则相当于 rename 修改文件名:
touch pear
mv pear new_pear
如果指定路径,则会将文件存进文件夹里
mv purple.txt testfile
如果增加 -v 则可以显示 verbose 信息,打印文件是如何移动的
mv -v purple.txt testfile
也可以修改文件夹的名称:
mv stuff/ STUFF
移动文件夹的地址,比如将文件夹地址放到上一层级:
mv -v testfile/Stuff ../
13. cp
你可以用 cp 指令拷贝一个文件:
touch test
cp apple another_app
若要拷贝文件夹,你需要添加一个 -r 的选项来递归地拷贝整个文件夹中的内容:
mkdir fruits
cp -r testfile another_testfile
还可以既拷贝、又改名、又移动位置:
cp testfile/red.png another_testfile/red2.png
14. head
输出文件的第一部分,使用 -n 可以指定长度
head SongOfMyself.txt
15. tail
类似 head 的功能,输出文件的末尾内容。
16. date
打印当前的系统时间
date
还可以通过 > 或者 >> 指令将 date 信息写入 .txt 文件:
覆盖原有内容:date > today.txt
在原有基础上添加:date >> today.txt
现在查看现在这个文件的前几行:
head today.txt
17. cat
名字的全称: cat – concatenate and print files
和 head/tail 的功能有些相似,与之不同的是 cat 可以在一个 file 中添加内容,这让这个指令非常有用。
打印文档的所有内容:
cat spring.txt
如果在前面加 -n,可以显示行号
cat -n spring.txt
打印两个文档的额所有内容:
cat spring.txt today.txt
还可以通过前面学的 > 指令,将多个文件的内容写入到创建的新文件中:
cat spring.txt today.txt > everything.txt
18. less
也是用来查看文件内容的,但相比于 head/tail, cat 等,有更好的 UI,效果和用 man 指令的效果类似。
按 q 可以退出显示页面,这样主页面就不会被大量的文本内容淹没了。
其他小指令:
按 g 可以跳到开头;
按 G 可以跳到结尾。
19. echo
这个指令只做一件简单的事:把输入的文本打印下来:
echo "hello"
不是很有用。但是可以结合 > 指令来迅速创建一个包含少量文本的文件(这个比较实用~):
echo "hello" > echo.txt
并且还能通过 >> 重复上述步骤来给这个 .txt 文件添加多行:
echo "the second line" >> echo.txt
20. wc
指令的全名:word count
这个指令给我们某个文件或者通过它从 pipes 接收到的指令中的有用的信息。
wc mySongLyrics.txt
输出:1757 15767 87022 mySongLyrics.txt
第一个表示有多少行,第二个表示有多少字,第三个表示多少字节,第四个是文件名
若添加 -l 可以只看有多少行;
若添加 -w 可以只看有多少字。
通过 pipes 的方式,它还可以结合其他语句,比如:
输出某个文件有多少行:
cat spring.txt | wc -l
21. sort
排序文件中的内容。也可以类似 wc,用 pipe 的方式使用
大小写是大写在前,但也可以通过附加指令忽略大小写。
数字排序要加 -n,否则会按照首数字排序:
cat nums.txt
sort -n nums.txt
如果只打印出 unique 的值的排序结果,可在前面加 -nu :
sort -nu nums.txt
用 pipe 的方式使用,结合 cat 的多个文件:
cat nums1.txt nums2.txt | sort
还可以用 pipe 的方式,直接和 wc 一起使用,统计有多少不一样的行:
sort -nu nums.txt | wc -l
22. uniq
删除挨在一起的重复的内容,注意如果不挨在一起不会删除。因此需要先排序,再 uniq。
结合 pipe 的方法:
sort favflavor.txt | uniq
效果和 sort -u 是一样的。
不过 uniq 还是有它的独家功能:
-d:只选出有重复项的:
sort favflavor.txt | uniq -d
-u:只选出没有重复项的:
sort favflavor.txt | uniq -u
-c:对所有项的频数统计:
sort favflavor.txt | uniq -c
统计后,再排序:
sort favflavor.txt | uniq -c | sort -nr
