1. ls
语法与功能
语法:ls 选项 目录或文件
功能:对于目录,列出该目录下的所有子目录或文件;对于文件,列出文件名及其其他信息
选项
-a:列出当前目录下所有文件,包括以.开头的隐藏文件。
-d:将目录像文件一样显示,而不是显示其下的文件。
-i:输出文件的 i 节点的索引信息。
-k:以 k 字节的形式表示文件的大小。
-l:列出文件的详细信息。
-n:用数字的 UID、GID 代替名称。
UID(User ID)即用户标识号,用于唯一标识系统中的用户。
GID(Group ID)即组标识号,用于唯一标识系统中的用户组。
-F:在每个文件名后附上一个字符以说明该文件的类型,*表示可执行的普通文件;/表示目录;@表示符号链接;|表示 FIFOs;=表示套接字(sockets)。
-r:对目录反向排序。
-t:以时间排序。
-s:在文件名后输出该文件的大小,可用于大小排序,以便找到目录下最大的文件。
-R:列出所有子目录下的文件。
-1:一行只输出一个文件
2.pwd
语法与功能
语法:pwd。
功能:显示用户当前所在目录。
3.whoami
语法与功能
语法:whoami。
功能:显示用户当前身份
4.cd
我们先要清楚,Linux的目录结构是一颗多叉树。这样才能保证每个文件和目录都有一个唯一路径,这种结构可以高效的定位和访问文件。
路径又分两种
绝对路径:从根目录开始定位文件的路径称为绝对路径,比如:home/lesson1
相对路径:从当前路径去定位文件。比如当前路径为:home/lesson1/new,我们通过…/test进入test文件
语法与功能
语法:cd 目录名
功能:改变工作目录,将当前工作目录改变到指定目录下
cd …:返回上级目录
cd:使用绝对路径或者相对路径改变当前工作目录
选项
cd ~:进入主工作目录,也就是家目录。其中对于root用户主工作目录就是/root,而对于普通用户就是/home/xxx。
cd -:返回上一次访问目录。
我们需要注意,如果用 cd … 一直返回到根目录就无法再返回了。Linux的根目录为/。/也是路径分隔符。windows环境下的路径分隔符为\。
5.clear
语法与功能
语法:clear。
功能:清空屏幕
6. touch
语法与功能
语法:touch 选项 文件。
功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
选项
-a或 --time=atime 或 --time=access 或 --time=use 只更改存取时间。
-c 或 --no-create不建立任何文档。
-d 使用指定的日期时间,而非现在的时间。
-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
-m 或 --time=mtime 或–time=modify 只更改变动时间。
-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
-t 使用指定的日期时间,而非现在的时间。
7.mkdir
语法与功能
语法:mkdir 选项 dirname。
功能: 在当前目录下创建一个名为dirname的目录。
mkdir -p dirname可以是一个路径名称,此时若路径中的某些目录不存在,加上此选项后,系统将自动建立好那些不存在的目录,即一次可以建立多个目录。
8.rmdir
语法与功能
语法:rmdir 选项 dirname。
功能: 删除空目录。
因为rmdir只能删除对应空目录,具有局限性,所以常用的是rm指令
9.rm
语法与功能
语法:rm 选项 dirname。
功能: 删除文件或目录。
选项
-i删除前逐一询问确认(y为确定删除,n为不删除)。
-f 即使文件属性为只读(即写保护),亦直接删除。
-r 删除目录及其下所有文件(递归式删除)。
当我们想删除当前目录下的所有文件时,可以使用通配符*,rm ./+通配符就能删除当前目录下的所有文件。如果我们想指定删除某种类型的文件,比如说我们想删除后缀为.c的文件,可以这样使用rm ./*.c。
10.man
语法与功能
语法: man 选项 指令。
功能: 查看指令的使用规则等。
例如ls
按q退出
man手册有8个章节,每个章节分别是:
1.普通用户命令。
2.系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)。
3.C库函数,如printf,malloc。
4.特殊文件,也就是/dev下的各种设备文件。
5.文件的格式,比如passwd, 就会说明这个文件中各个字段的含义。
6.给游戏预留的,由各个游戏自己定义。
7.附件还有一些变量,比如向environ这种全局变量。
8.管理员命令如ifconfig。
选项
-k:根据关键字搜索联机帮助。
num:只在第num章节查找。
-a:将所有章节的查找结果都显示出来。
11.cp
语法与功能
语法: cp 选项 源文件或目录 目标文件或目录。
功能: 复制文件或目录。
选项
-f 或 --force:强行复制文件或目录,不论目标文件或目录是否已经存在。
-i 或 --interactive 如果文件不存在,则复制文件,如果文件存在,则覆盖文件,覆盖之前先询问用户。
-r 或 -R 递归处理,将指定目录下的文件与子目录一并处理,若源文件或目录的形态不属于目录或符号链接,则一律视为普通文件处理。
cp指令也可以结合通配符*一起使用,一次性复制多种文件。
12.mv
语法与功能
语法:mv 选项 源文件或目录 目标文件或目录。
功能: 视mv指令当中两个参数的不同而不同。当第二个参数是不存在的名称时,mv指令完成文件重命名或目录重命名。当第二个参数是已存在目录名称时,mv指令将文件移动置该目录中。
1.移动文件
这将把file1.txt文件移动到/path/to/destination/目录中。
mv file1.txt /path/to/destination/
2.重命名文件
这将把oldname.txt文件重命名为newname.txt。
mv oldname.txt newname.txt
3.移动且重命名
同时移动和重命名文件
mv file1.txt /path/to/destination/newname.txt
4.移动目录
这将把sourcedir目录及其内容移动到/path/to/destination/目录中。
mv sourcedir/ /path/to/destination/
选项
-f :强行剪切文件或目录,不论目标文件或目录是否已经存在。
-i :覆盖文件之前先询问用户。
13.nano
语法与功能
语法:nano 文件名。
功能: 打开目标文件。
文件完成书写后ctrl+x退出nano编辑器,再按y确定修改即可。
14.cat
语法与功能
语法: cat 选项 文件。
功能: 查看目标文件的内容。
使用nano写文件再用cat查看
选项
-b:对非空输出行编号。
-n:对输出的所有行编号。
-s:禁止重复的空输出行。
注意:cat指令会将目标文件内容全部打印到屏幕上。若是目标文件内容过大,则会导致刷屏。因此cat指令一般仅适用于查看内容较少的文件。
15.echo
语法与功能
语法:echo 输出信息。
功能:将信息打印到指定文件,默认为显示器。
输出重定向
我们可以使用输出重定向将echo输出的语句重定向到指定文件中,比如echo “hello betty” >tmp.txt就能将字符串hello betty!重定向进tmp.txt文件中,如果该文件不存在则会自动创建。
我们除了使用输出重定向文件输入外,我们还可以利用>清空文件,因为文件一般打开都会默认清空其中的数据。
追加重定向
我们知道文件打开一般默认会清空其中的数据,为了不让打开的文件数据被清空,我们可以使用追加重定向。追加重定向与输出重定向的使用方式类似,只不过将>改为了>>
上面我们学了cat指令,一般我们后面会跟一个文件,就可以显示文件的内容,那如果cat之后不跟文件名呢?
这时我们输入什么,按回车后,显示器就回显什么,一直输入,就一直回显