根据尚硅谷的课件自己的学习笔记,这主要是文件目录类:
pwd、ls、cd、mkdir、rmdir、rm、touch、cp、\cp、mv、cat、more、less、> 和 >>、echo、head、tail、ln、history
1.面试题:如何找回root密码
如果不小心忘记root密码,怎么找回。
思路:进入到单用户模式,然后修改root密码。(进入单用户模式,root不需要密码就可以登录。)步骤:开机,在引导时输入回车键,看到界面输入e,看到新界面,选中第二行(编辑内核)再输入e,在这行最后输入1,再输入回车键,再次输入b,这时就会进入到单用户模式,进入单用户模式后,用passwd指令来修改root密码。
2.帮助指令
使用帮助指令可以了解这个指令的使用方法
2.1 man获得帮助信息
语法:man 命令或配置文件 ——》获得帮助信息
eg:查看ls的帮助信息:man ls
2.2 help指令
语法:help 命令 ——》获得shell内置命令的帮助信息
eg:查看cd命令的帮助信息:help cd 会显示shell的cd命令详细信息
3. 文件目录类
3.1 pwd指令
语法:pwd ——》显示当前工作目录的绝对路径
在root身份下直接输入pwd,则是查看当前的工作的绝对路径,则为根路径
3.2 ls指令
语法:ls 选项 目录或是文件 常用选项:-a:当前目录所有的文件和目录,包括隐藏的;-l:以列表的方式显示信息;
eg:ls 、ls -l、ls -al(会显示全部,包括隐藏,数量会多),区别如下图,-l会以列表显示,同时会显示出总量,注意-l和-al的区别,-l不会显示隐藏文件和目录。
3.3 cd指令
语法:cd 参数 ——》切换到指定目录;常用参数有绝对路径和相对路径
cd .. 返回上一层目录;cd ../.. 返回上两层目录
cd ~ 返回家目录 ; cd newdir 进入名字为newdir的目录
eg:切换到root目录:
eg1:使用绝对路径切换到root:cd /root
eg2:使用相对路径到root:首先要知道当前处于哪个目录下,例如在/user/lib下,则命令为:
cd ../../root 返回到初始目录,再进入要求目录
3.4 mkdir指令
语法:mkdir 选项 要创建的目录 ——》用于创建目录;常用选项有-p:创建多级目录
eg1:创建一个目录:/home/tiger
mkdir /home/tiger 表示再home目录下创建tiger目录
eg2:创建多级目录 /home/animal/tiger
mkdir -p /home/animal/tiger 希望一次创建多级目录,带上-p参数
3.5 rmdir删除目录指令
rmdir 选项 要删除的空目录
eg1:删除一个目录 /home/tiger
rmdir /home/tiger 注意:rmdir只能删除空目录,如果目录中有内容,则无法删除
删除非空目录:rm -rf /home/tiger
3.6 touch指令
语法:touch 文件名称 ——》创建空文件
touch ok1.txt ok2.txt 创建后的文件可以用vim编辑:vim ok1.txt
3.7 cp 指令
语法:cp [选项] 源目录 目的目录:拷贝文件到指定目录 常用选项:-r 递归复制整个文件夹
eg1:简单文件拷贝:将/home/aaa.txt 拷贝到/home/bbb目录下(拷贝单个文件)
cd /home --------->touch aaa.txt ----------->mkdir bbb ----------->cp aaa.txt bbb/ 表示将aaa.txt拷贝到bbb目录下
eg2:拷贝目录:将/home/test整个目录拷贝到/home/zwj目录(拷贝时要注意当前的目录位置,并且要用到递归复制,-r参数)
cp -r test/ zwj/ (这个命令当发现目标目录和源目录有相同文件时,会提示是否覆盖)
若想实现强制覆盖不提示则使用\cp
3.8 rm 指令
语法:rm 选项 要删除的文件或目录
删除目录:rm -rf bbb/ 递归删除目录下的所有文件
3.9 mv 指令
语法:mv oldName newName ------------重命名
mv /temp/movefile /targetFolder --------------移动文件
eg1:将 /home/aaa.txt 文件 重新命名为 pig.txt
mv aaa.txt pig.txt
eg2:将 /home/pig.txt 文件 移动到 /root 目录下
mv pig.txt /root/(到某目录下,开始以/开始,结尾以/结束)
3.10 cat 指令
语法:cat 选项 要查看的文件 -------------查看文件内容,以只读的方式打开 -n显示行号
eg1:查看/etc/profile 文件内容,并显示行号
cat -n /etc/profile | more -----------以cat指令打开,并分页显示,cat只能浏览文件但是不能修改文件,为了浏览方便,一般会带上管道命令 | more,分页浏览
3.11 more 指令
语法:more 要查看的文件 ------居于Vi编辑器的过滤器,以全屏幕的方式按页显示文本文件内容。
eg:采用more查看文件 /etc/profile
more /etc/profile 内置了很多快捷键,可以百度
3.12 less指令
语法:less 要查看的文件 --------分屏查看文件内容,比more指令更强大,支持各种显示终端,less并不是一次将整个文件加载之后才显示,而是根据需要显示加载内容,对于显示大型文件具有较高的效率。
eg:采用 less 查看一个大文件文件 /opt/金庸-射雕英雄传 txt 精校版.txt
cd /opt/ ------> less 金庸-射雕英雄传 txt 精校版.txt
小节:less和more:a)less可以按键盘上下方向键显示内容,more不能通过上下键显示内容,
b)less不必读整个文件,加载速度比more快
c)less退出后shell不会留下刚显示的内容,而more退出后shell会留有痕迹
4.13 > 和 >> 指令
> 输出重定向:会将原来的文件内容覆盖
>>追加:不覆盖原来的内容,而是追加到文件尾部
语法:1)ls -l >文件 --------------列表的内容写入文件a.txt中(覆盖写)
eg:ls -l > a.txt:将列表的内容写到a.txt中 覆盖写,如果文件不存在,则创建该文件
2)ls -al >> 文件
eg:ls -l >> b.txt 将ls -l显示的内容追加到后面的文件中
3)cat 文件1 > 文件2 --------------将文件1 的内容覆盖到文件2中
cat /etc/profile > c.txt
4)echo “内容” >> 文件
eg1:将 /home 目录下的文件列表 写入到 /home/info.txt 中 写入因此用输出重定向 >
首先将/home的文件内容展示出来,然后将其输出到目标文件中
ls -l /home/ > /home/info.txt 红标的/不能丢,表示home目录的所有内容
eg2:将当前日历信息 追加到 /home/mycal 文件中 [提示当前日历信息目录: cal ] >> 追加
cal >> /home/mycal
3.14 echo 指令
语法:echo 选项 输出内容 -----------------------输出内容到控制台
eg:使用 echo 指令输出环境变量,输出当前的环境路径
echo $PATH
3.15 head指令
语法:head 文件 -----------查看文件头10行内容
eg1:head -n 5 文件 -----------------查看文件头5行内容
eg2:查看/etc/profile 的前面 5 行代码 (有查看前几行内容,则选择head作为指令)
head -n 5 /etc/profile
3.16 tail指令
语法:tail 文件 --------------------查看文件后10行内容(默认)
tail -n 5 查看文件后5行内容
tail -f 文件 实时追踪文档的所有更新,工作经常用
eg:实时监控 mydate.txt , 看看到文件有变化时,是否看到, 实时的追加日期
tail -f mydate.txt
3.17 ln指令 ------软连接,也叫符号链接,存放链接其他文件的路径
语法:ln -s 源目录/文件 软链接名 -----给源文件创建一个软链接
eg:在/home 目录下创建一个软连接 linkToRoot,连接到 /root 目录
ln -s /root linkToRoot
删除软连接:
rm -rf linkToRoot 注意,在删除时,如果时目录,则一般在结尾加上/,表示到这个目录下,但是山粗软连接时,不能加/,否则会提示资源忙
3.18 history指令
语法:history---------------------查看历史命令