前言
linux基础指令比较多,这里分多篇文章讲解.
一、[tree]命令
指令的功能:
以树状的形式去显示当前目录下的所有文件.
如果没有是刚刚安装linux环境的小伙伴,第一次使用这个命令会出现一下情况.
这是因为这个命令默认情况下是需要自己手动安装的.
1.1 安装[tree]命令
yum install -y tree
使用安装tree命令之前要先保证自己处于root账户下,否则没有权限执行次命令.
以root用户去执行此命令.
1.2 [tree]命令的使用:
二、[touch]命令:(创建文件)
语法:
touch 文件.文件扩展名
示例:创建一个 名为test6的文本文件
三、[mkdir]指令:创建(多级)目录
语法:
3.1 创建单个目录
mkdir 目录名/文件夹
创建:dir4目录.
3.2 创建多级目录
如果我们想一次创建多级目录该怎样创建呢?
创建多级目录前:
使用如下指令:
mkdir dir1/dir2/dir3/dir4
显然该命令无法创建多级目录,正确指令需要配合使用 -p选项
mkdir -p dir1/dir2/dir3/dir4
创建多级目录后:
四、[rmdir]指令 和 [rm] 指令(删除指令)
4.1 [rmdir]指令
rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除命令。
指令功能:
删除空目录
很显然,rmdir命令只能用于删除空目录.
子选项 -p
-p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。
4.2 [rm]指令
[rm]指令删除文件和目录都可以,是比[rmdir]更加常用的指令
删除文件示例:
删除dir5目录下的test2.c文件
指令:
rm test2.c
子选项介绍:
- -f 即使文件属性为只读(即写保护),不会循环是否删除,而是直接删除
- -i 删除前逐一询问确认
- -r 删除目录及其下所有文件(递归式删除)
4.21 强制删除
在root账户删除普通文件,或者普通用户在删除只读的文件等一些特殊情况时,会询问是否要删除?
示例:
在root账户下,删除test1.txt普通文件,会询问是否要删除?
输入:
y表示确认(YES)
n表示取消(NO)
使用-f选项,直接删除
rm -f 文件名
4.22 递归删除
前面我们使用[rmdir]指令只能删除空目录,而如果我们直接使用rm指令就连空目录都不能删除.
那是因为目录是递归式定义的,即使是空目录,那我们在使用rm指令对目录进行删除时,需要使用-r选项
rm -r 目录名
在普通用户下,删除文件或者目录并不询问.
在root账户下,一般删除文件都会被循环是否确认删除.
强制递归删除:
rm -rf 目录名
五、[man]手册
我们刚学Linux时,会遇到很多指令,我们可以使用帮助手册[man]来帮助我们查询相应的指令用法.
示例:查询ls指令
指令:man ls
查询结果:
温馨提示:
q退出手册.
5.1 查询C语言中的函数?
我们也可以使用man手册查询C语言中的函数吗?
使用指令:man printf
会得到以下结果
PRINTF(1) User Commands PRINTF(1) NAME printf - format and print data SYNOPSIS printf FORMAT [ARGUMENT]... printf OPTION DESCRIPTION Print ARGUMENT(s) according to FORMAT, or execute according to OPTION: --help display this help and exit --version output version information and exit FORMAT controls the output as in C printf. Interpreted sequences are: \" double quote \\ backslash \a alert (BEL) \b backspace \c produce no further output \e escape \f form feed \n new line \r carriage return \t horizontal tab \v vertical tab \NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits) \uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits) Manual page printf(1) line 1 (press h for help or q to quit)
这是因为linux本身就存在printf指令,处于man手册的第一章,而C语言中的函数在第三章,man手册默认是从第一章开始往后搜索的.所以这里查到的是printf指令,并不是C语言中的函数.
如果要查找C语言中的函数,就需要使用
指令:man 3 printf
意思是在man手册的第3章中查找.
有的linux环境可能会出现下面的问题,此时我们需要安装man-pages补充手册,才可以正常使用.
安装补充手册需要在root账户下执行:
yum install -y man-pages
此时就可以查询到C语言中的函数了.
如果我们man手册也不会使用,我们可以使用指令:
man man帮助我们认识手册.
man手册分为8章:
1 是普通的命令
2 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)
3 是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件
5 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义
6 是给游戏留的,由各个游戏自己定义
7 是附件还有一些变量,比如向environ这种全局变量在这里就有说明
8 是系统管理用的命令,这些命令只能由root使用,如ifconfig
5.2 man手册的快捷键使用规则:
按键 | 作用 |
PaGe Dowm | 向下翻页 |
PaGe Up | 向上翻页 |
空格键 | 向下翻页 |
/ | 从上往下搜索某个关键词,示例: /print |
? | 从手册下往上搜索关键词,示例: ?print |
n | 在搜索的关键词中,定位下一个. |
N | 在搜索的关键词中,定位下一个. |
空格键 | 向下翻页 |
六、[cp]拷贝命令
语法:cp [选项] src(源文件) destc(目的地)
功能: 复制文件或目录
6.1 在当前目录下拷贝文件
例如将文件test1.txt拷贝一份放在当前目录,拷贝后的文件名为cp1.txt
指令:cp test1.txt cp1.txt
6.2 拷贝到指令目录
例如:
将当前目录下的test1.txt文件拷贝至上机目录下的dir4目录下,拷贝后的文件名为cp2.txt.
指令:
cp test1.txt ../dir4/cp2.txt
6.3 拷贝"目录"
将dir1目录在当前目录下拷贝一份,拷贝后的目录名dir1_cp .
指令:
cp -r dir1 dir1_cp
好了,本篇文章对Linux指令将讲到这里了,希望对大家有所帮助.
再见!