Linux 基本指令(一)
目录
1. ls指令
2. pwd指令
3. cd指令
4. whoami
5. clear指令
6. touch指令
7. mkdir指令(重要)
8. rmdir指令与rm指令(重要)
8.1 rmdir指令
8.2 rm指令
9. man指令(重要)
10. cp指令(重要)
11. mv指令(重要)
12. nano指令
13. cat指令
14. echo指令
重定向
1. 输出重定向
2. 追加重定向
3. 输入重定向
windows以高效直观的图形用户界面(GUI)著称,用户可以直接通过点击图标和菜单来操作电脑,易于上手,而Linux虽然也提供图形界面,但更多的操作仍然需要通过命令行(CLI)来完成也就是需要使用各种指令来进行操作
1. ls指令
语法:ls 选项 目录或文件
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
常用选项
- -a 列出目录下所有的文件,包括以.开头的隐含文件。
- -d 将目录像文件一样显示,而不是显示其下的文件。如 ls -d 指定目录
- -i 输出文件的 i 节点的索引信息。如ls -ai 指定文件
- -k 以 k 字节的形式表示文件的大小。ls -alk 指定文件
- -l 列出文件的详细信息。
- -n 用数字的UID,GID代替名称。
- -F 在每个文件名后附上一个字符以说明该文件的类型,"*"表示可执行的普通文件;"/"表示目录; "@"表示符号链接;"|"表示FIFOs;"="表示套接字(sockets)。(目录类型识别)
- -r 对目录反向排序。
- -t 以时间排序。
- -s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)
- -R 列出所有子目录下的文件。(递归)
- -1 一行只输出一个文件。
被灰色圈起来的点们代表隐藏目录
.代表当前目录,..代表上级目录
目录和文件前面的数字即为文件索引。加上-a指令就是目录下所有文件的索引,上面的指令ls -ai 实际上与 ls -a -i是一样的,只是简化了而已
输出文件大小共为12个字节
ls-l 列出了文件的详细信息,ls -al则列出了全部文件的详细信息,与ll实现的功能相同(但ll命令通常是ll -l 的别名(alias)).
别名是shell(如bash)中用于将长命令或复杂命令映射到短命令或单词的功能。因此,当你在命令行中输入 ll 并按回车时,shell实际上会执行 ls -l 命令。
如果你没有ll别名还想使用它(对bash用户),可以在shell配置文件中添加以下代码
alias ll='ls -l --color=auto'
重新加载配置文件,或关闭然后重新打开终端就可以使用了
2. pwd指令
语法:pwd
功能:显示用户当前所在的目录
无常用选项
root即为当前所在目录
3. cd指令
Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。
其目录结构是一颗多叉树,这样每一个目录都有一个唯一且确定的位置。
语法:cd 目录名
功能:改变工作目录。将当前工作目录改变到指定的目录下。
使用方式
cd .. :返回上级目录
cd /root/mydir/lin/ :绝对路径
cd ../youdir/ :假设当前在上图mydir处。相对路径
cd ~ :进入用户家目录
cd - :返回最近访问目录
返回上级目录
绝对路径访问
相对路径访问
返回家目录与返回最近访问目录
这个多叉树的叶子结点一定是普通文件或者空目录,非叶子节点一定是一个非空目录。
绝对路径:以/(根目录)开始定位文件的路径称为绝对路径
相对路径:以非/(根目录)为参照位置,定位一个文件的路径就是相对路径
4. whoami
语法:whoami
功能:显示用户当前身份
root是用户名
5. clear指令
语法:clear。
功能:清空屏幕。
6. touch指令
语法:touch [选项] [文件]
功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
新建了new文件
常用选项
- -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"的目录
成功创建newdir目录
常用选项
-p --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,在加上此选项后,系统将自动建立好那些上不存在的目录,即一次可建立多个目录;
如下所示
8. rmdir指令与rm指令(重要)
8.1 rmdir指令
rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除目录。
语法:rmdir [-p] [dirName]
适用对象:具有当前目录操作权限的所有使用者
功能:删除空目录
常用选项
-p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除
从test3开始向上删除,检测test2为空目录删除,直到检测root为非空目录,停止删除并报错
目录不是空的,rmdir报错不会删除任何目录
8.2 rm指令
rm指令可以同时删除文件或目录
语法:rm [选项] [文件或目录名]
使用对象:所有使用者
功能:删除文件或目录
常用选项
- -f 即使文件属性为只读(即写保护),亦直接删除。
- -i 删除之前逐一询问确认。
- -r 删除目录及其下所有文件。
-i在删除前还要询问你,-f直接就删除了
直接-rf 更是直接就删除一个目录
当我们想删除当前目录下的所有文件时,可以使用通配符*,-rm ./* 就能删除当前目录下所有的文件。如果我们想指定删除某种类型的文件,比如说我们想删除后缀为.txt的文件,可以这样使用-rm ./* .txt 。
9. man指令(重要)
Linux的命令有很多参数,我们不可能全记住,可以通过查看联机手册获取帮助。访问Linux手册页的命令是man
语法:man [选项] 命令
常用选项
- -k 根据关键字搜索联机帮助
- num 只在第num章节找(手册有8章)
- -a 将所有的章节的都显示出来,比如man printf 它缺省从第一章开始搜索,按下q退出。它继续往后面搜索直道所有章节搜索完毕。
例如我们查询touch
查阅完后按q就可以退出了
我们还可以通过man man 来查阅手册的对应功能
面手册分为8章
1. 普通的命令
2. 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)
3. 是库函数,如printf,fread。
4. 是特殊文件,也就是、dev下的各种设备文件。
5. 是指文件的格式,比如passwd,就会说明这个文件中各个字段的含义。
6. 是给游戏留的,由各个游戏自己定义。
7. 是附件还有一些变量,比如想environ这种全局变量在这里就有说明。
8. 是系统管理用的命令,这些命令只能有root使用,如ifconfig
10. cp指令(重要)
语法:cp [选项] 源文件或目录 目录文件或目录
功能:复制文件或目录
说明:cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息。
常用选项
- -f 或--force强行复制文件或目录,不论目的文件或目录是否已经存在
- -i 或--interactive覆盖文件之前先询问用户
- -r 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
- -R 或--recursive递归处理,将指定目录下的文件及子目录一并处理
询问是否覆盖文件
递归复制目录及其子目录
也可以搭配 * 通配符一起使用
11. mv指令(重要)
mv是move的缩写,可以用来移动文件或将文件改名(move(rename)files),是Linux系统下常用的命令,经常用来备份文件或者目录。
语法:mv[选项] 源文件或目录 目标文件或目录
功能:
1. 根据mv命令中第二个参数的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。
2. 当第二个参数类型是文件时,mv命令完成文件重命名,此时源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
3. 当第二个参数是已经存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中
常用选项
- -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
- -i :若目标文件(destination)已经存在时,就会询问是否覆盖。
将文件和目录重命名
将源目录移到目标目录
将目标文件剪切到目标目录后重命名
12. nano指令
语法:nano 文件名
功能:打开目标文件
如果系统中没有该指令可以通过下面代码来安装
yum install -y nano
通过nano 文件名 打开文件
可以按 ctrl + x ,在按下y进行保存并退出
13. cat指令
语法:cat [选项] [文件]
功能:查看目标文件的内容
常用选项
- -b 对非空输出行编号
- -n 对输出的所有行编号
- -s 不输出多行空行
cat是输出文件里的内容,tac是反向输出里面的内容
cat会将目标文件内容全部打印到屏幕上,若目标文件内容太多,则会导致刷屏。因此cat比较适用于查看内容较少的文件。
14. echo指令
语法:echo 输出信息
功能:将信息打印到指定文件,默认为显示器。
用单引号也可以
重定向
1. 输出重定向
我们可以使用输出重定向将echo输出的语句重定向到指定文件中,比如以下指令
echo "hello world" > test.txt
我们除了使用输出重定向文件输入外,我们还可以利用 > 清空文件,因为文件一般打开都会默认清空其中的数据。
2. 追加重定向
我们知道文件打开一般默认会清空其中的数据,为了不让打开的文件数据被清空,我们可以使用追加重定向。追加重定向与输出重定向的使用方式类似,只不过将 > 变为了 >>
比如说我们对test.txt文件进行追加重定向
3. 输入重定向
上面我们学了cat指令,一般我们后面会跟一个文件,就可以显示文件的内容,那如果cat之后不跟文件名呢
此时我们输入什么,按下回车后,显式器就输出什么,直到按ctrl+c来结束。这就证明cat一直默认从键盘文件读取数据然后在显式器文件里写入,如果我们不想让其从键盘上读取输出就可以用输入重定向 <
这个输入重定向虽然与我们的cat直接输出类似,但有区别,此处先不做说明
这篇就到这里了,喜欢可以点点赞
(づ ̄3 ̄)づ╭❤~