Linux基础命令
Linux基础命令
linux命令的本质
linux命令其实他们的本体就是一个个的二进制可执行程序。
输入cd命令就是执行cd这个程序,输入pwd命令就是执行pwd这个程序。和我们windows系统重的.exe文件是一个意思。
可以使用which命令查看我们所使用的命令的程序文件存放在哪里。
Linux切换到root用户
可以通过 su - root,并输入密码123456 (和普通用户默认一样)临时切换到root用户体验
通过输入exit命令,退回普通用户。(临时用root,用完记得退出,不要一直用,关于root我们后面会讲解)
linux命令窗口常用快捷键。
清屏:ctrl+l。
Ctrl+C键组合会发送一个中断信号给当前运行的进程。
Linux的目录结构
/
,根目录是最顶级的目录了- Linux只有一个顶级目录:
/
- 路径描述的层次关系同样适用
/
来表示 - /home/itheima/a.txt,表示根目录下的home文件夹内有itheima文件夹,内有a.txt
Linux命令通用格式
command [-options] [parameter]
command:命令本身 常用的有ls,touch,rm,cd等
options:命令的选项,控制命令的行为细节。
parameter:命令的参数,一般都是写命令的指向目标的路径。
[]代表可选的意思
示例:ls -l /home/wyc 以列表的形式,显示/home/wyc目录内的内容。
cp -r test1 test2 复制文件夹test1成为test2
ls命令
功能:列出文件夹信息
语法:ls [-l -h -a] [参数]
- -l,以列表形式展示内容,并展示更多细节。
- -h,需要配合配合-l选项,以更加人性化的方式显示文件大小单位。
- -a,all的意思,意思是显示出全部的文件(包括隐藏文件)
- 参数:被查看的文件夹,不提供参数,表示查看当前工作目录(工作目录默认是/home/用户名)
隐藏文件、文件夹:在Linux中以.
开头的,均是隐藏的,默认不显示出来,需要-a
选项才可查看到。
普通的ls命令
带-l选项的ls命令
6是文件大小 2月27 18:42是文件创建时间。
带-a选项的ls命令
选项可以组合使用
语法中的选项是可以组合使用的,比如学习的-a和-l可以组合应用。
写法:
- ls -l -a
- ls -al
- ls -la
上述三种写法是一样的,都是表示同时应用-l选项和-a选项。
带-l选项和-h选项的ls命令
不但以列表的方式展示更多的细节,同时展示了文件大小的单位。
pwd命令
功能:展示当前工作目录
语法:pwd
切换工作目录到/bin,再展示当前工作目录,发现工作目录果然切换到/bin了。
cd命令
cd(change directory)
功能:切换工作目录
语法:cd [目标目录]
参数:目标目录,要切换去的地方,不提供默认切换到当前登录用户HOME目录
HOME目录
每一个用户在Linux系统中都有自己的专属工作目录,称之为HOME目录。
-
普通用户的HOME目录,默认在:
/home/用户名
-
root用户的HOME目录,在:
/root
FinalShell登陆终端后,默认的工作目录就是用户的HOME目录
相对路径、绝对路径
-
相对路径,非
/
开头的称之为相对路径相对路径表示以
当前目录
作为起点,去描述路径,如test/a.txt
,表示当前工作目录内的test文件夹内的a.txt文件 -
绝对路径,以
/
开头的称之为绝对路径绝对路径从
根
开始描述路径
特殊路径符
.
,表示当前目录,比如./a.txt,表示当前文件夹内的a.txt
文件..
,表示上级目录。~
,表示用户的HOME目录(/home/用户名),比如cd ~
,即可切回用户HOME目录
mkdir命令
mkdir(make directory)创建文件夹。
功能:创建文件夹
语法:mkdir [-p] 参数
- 参数:被创建文件夹的路径
- 选项:-p,可选,他会自动创建不存在的前置目录
touch命令
功能:创建文件
语法:touch 参数
- 参数:被创建的文件路径
cat命令
“cat"命令是"concatenate”(连接)的缩写,最初用于连接文件内容并将其打印到标准输出。
功能:查看文件内容
语法:cat 参数
- 参数:被查看的文件路径
more命令
功能:查看文件内容,可以支持翻页查看
语法:more 参数
- 参数:被查看的文件路径
- 在查看过程中:
空格
键翻页q
键退出查看
案例:我们去查看一个系统的内置文件,路径为/etc/services
cp命令
cp(copy)复制。
功能:复制文件、文件夹
语法:cp [-r] 参数1 参数2
- 参数1,被复制的文件或文件夹
- 参数2,要复制去的地方
- 选项:-r,可选,复制文件夹使用,表示递归。
示例:
- cp a.txt b.txt,复制当前目录下a.txt为b.txt
- cp a.txt test/,复制当前目录a.txt到test文件夹内
- cp -r test test2,复制文件夹test到当前文件夹内为test2
mv命令
mv(move)移动。
功能:移动文件、文件夹
语法:mv 参数1 参数2
- 参数1:被移动的
- 参数2:要移动去的地方,参数2如果不存在,则会进行改名
rm命令
rm(remove–移除)
功能:删除文件、文件夹
语法:rm [-r -f] 参数...参数
- 参数:支持多个,每一个表示被删除的,空格进行分隔
- 选项:-r,删除文件夹使用
- 选项:-f,表示单词force–强制,强制删除,不会给出确认提示,一般root用户会用到。
示例:
删除test3.txt文件。
删除目录test2,无法删除,使用-r选项后成功删除。
批量删除目录,test2目录之前已经删过了,所以无法成功删除。
rm命令很危险,一定要注意,特别是切换到root用户的时候。
rm -r -f / 删除文件,强制删除,从根目录开始删。(十分危险!!!)
which命令
功能:查看命令的程序本体文件路径
语法:which 参数
- 参数:被查看的命令
可以使用which命令查看我们所使用的命令的程序文件存放在哪里。
find命令
功能:搜索文件
语法1:按文件名搜索:find 起始路径 -name "被查找的文件名"
被查找的文件名支持通配符来做模糊查询:find 起始路径 -name "*test"
示例:
从根目录开始,搜索名为test的文件
语法2:按文件大小查找文件:find 起始路径 -size +|-n[k M G]
- +或者-表示大于或小于
- n表示被大于小于的数字
- k或M或G表示数字的单位,k为kb,M为MB,G为GB
示例:
从根目录开始查找大于100MB的文件
grep命令
grep(global regular expression print --全局正则表达式打印)
功能:在一个文件中搜索指定表达式,并打印匹配的行。
语法:grep [-n] 要搜索的模式 文件路径
- 选项-n,可选,表示在结果中显示匹配的行的行号。
- grep的文件路径可以作为内容的输入端口
示例:
这里创建了一个名为test.txt的文件,然后我们在图形化界面对其进行编写。
然后用cat命令查找编写的内容。
在test.txt文件中查找包含"itheima"的行
在test.txt文件中查找包含"itcast"的行
在test.txt文件中查找包含"code"的行,并显示行号
wc命令
wc(word count–单词统计),虽然wc命令最初是用来统计单词数量的,但后来也扩展到统计字符和行数。
功能:用来统计文件中行数、字数和字符数的命令。
语法:wc [-c -m -l -w] 文件路径
- 选项,-c,统计bytes数量
- 选项,-m,统计字符数量
- 选项,-l,统计行数
- 选项,-w,统计单词数量
- 参数,文件路径,被统计的文件,可作为内容输入端口
参数 文件路径,可作为管道符的输入
管道符|(重要)
写法:|
功能:将符号左边的结果,作为符号右边的输入
示例:
cat a.txt | grep itheima
,将cat a.txt的结果,作为grep命令的输入,用来过滤itheima
关键字
可以支持嵌套:
cat a.txt | grep itheima | grep itcast
统计文件中带有itcast关键字的有几行:
先查看文件内容,然后搜索内容包含itcast的行,然后搜索行数
echo命令
功能:linux控制台中输出内容
语法:echo 参数
- 参数:被输出的内容
示例:
`反引号
功能:被两个反引号包围的内容,会作为命令执行
示例:
echo pwd只会单纯输出内容pwd
而echo 飘号pwd飘号 会先执行pwd命令,然后命令的内容被echo输出
tail命令
tail(尾部)
功能:查看文件尾部内容
语法:tail [-f -num] 参数
- 参数:被查看的文件
- 选项:-f选项,持续跟踪文件修改,-num选项,可以给一个具体的数字-20就是查看尾部的20行内容。不写选项就默认查看尾部10行的内容。
head命令
head(头部)
功能:查看文件头部内容
语法:head [-n] 参数
- 参数:被查看的文件
- 选项:-n,查看的行数
重定向符
功能:将符号左边的结果,输出到右边指定的文件中去
>
,表示覆盖输出>>
,表示追加输出
示例:
覆盖写入
追加写入
vi/vim编辑器
vi/vim编辑器:就是在linux命令行界面下的文本编辑器,用来编辑文件内容。
vi/vim编辑器的三种模式
vi编辑器有三种模式,命令模式,输入模式,底线模式。
编辑时以命令模式和输入模式相互转换结合使用,一般以底线模式作为最后保存或退出。
注意:输入模式和底线模式无法直接相互转换。
如何通过vi/vim编辑器对文件进行编写
vi/vim编辑器常用快捷键
这里的N是shift +n
u,撤销修改(与ctrl+z类似)
:set nonu 不显示行号
:set nopaste 退出粘贴模式
:set paste可以解决粘贴乱序问题,当我们想从外面复制内容到命令行中时,推荐先在命令模式下输入:set paste 进入粘贴模式,再右键粘贴内容。
vim编辑器粘贴不全问题
是因为没有在输入模式下进行粘贴,在遇到第一个命令之前的字母都会被吞掉。
示例:
[Unit]
Description=redis-server
会被吞的只剩
t]
Description=redis-server
命令的选项
我们学习的一系列Linux命令,它们所拥有的选项都是非常多的。
比如,简单的ls命令就有:-a -A -b -c -C -d -D -f -F -g -G -h -H -i -I -k -l -L -m -n -N -o -p -q -Q -r-R -s -S -t -T -u -U -v -w -x -X -1等选项,可以发现选项是极其多的。
课程中, 并不会将全部的选项都进行讲解,否则,一个ls命令就可能讲解2小时之久。
课程中,会对常见的选项进行讲解, 足够满足绝大多数的学习、工作场景。
查看命令的帮助
可以通过:命令 --help
查看命令的帮助手册
查看命令的详细手册
可以通过:man 命令
查看某命令的详细手册