ls 是英文单词 list 的简写,其功能为列出目录的内容,是用户最常用的命令之一,类似于 DOS 下的 dir 命令.
Linux 下文件和目录的特点:
1 Linux 文件 或者 目录 名称最长可以有 256 个字符
2 以 . 开头的文件为隐藏文件,需要用 -a 参数才能显示
3 一个 . 代表当前目录
4 两个.代表上一级目录
1.-a 显示指定目录下所有子目录与文件,包括隐藏文件
示例:
2. -l 以列表方式显示文件的详细信息
示例:
3. -h 配合-l 以人性化的方式显示文件大小
示例:
和学过的正则表达式一样,没学过的看一眼下面的示例就明白了
示例:
cd 是英文单词 change directory 的简写,其功能为更改当前的工作目录,也是用户最常用的命令之一.
创建文件或修改文件时间
如果文件 不存在,可以创建一个空白文件
如果文件 已经存在,可以修改文件的末次修改日期
示例:
创建一个新的目录
配合-p 可以递归创建目录,例如在桌面上创建一个a目录下的b目录下的c目录:
打开a是这样的:
敲黑板请注意:新建目录的名称不能与当前目录中已有的目录或文件同名!
删除文件或目录,千万要注意使用 rm 命令要小心哦,因为文件删除后不能恢复!
只使用rm是无法直接删除目录的,需要配合-r,-r可以递归地删除目录下的内容,删除文件夹 时必须加此参数。
还可以配合 -f 强制删除,忽略不存在的文件,无需提示,示例如果删除一个不存在的目录,不用提示:
还有一点,rm和ls 一样也是可以使用通配符定位删除文件的,不过删除时要小心使用,所以千万不要在电脑根目录下输入这样的命令:rm -rf * 这样输入回车,会删除你所有的东西,很可能需要重装系统了,一定要知道这个操作咱不骗人也不能被人骗(我曾经就见过一仁兄被人怂恿,他以为没啥大不了的那不就是测试一下吗,然后他就在自己电脑控制台输入了这条命令。。。默哀)。
刚开始用tree命令时可能提示尚未安装,可以执行命令:sudo apt install tree
输入密码回车完成安装:
tree 命令可以以树状图列出文件目录结构:
cp 命令的功能是将给出的文件或目录复制到另一个文件或目录中,相当于 DOS 下的 copy 命令。如下将桌面下的a目录下的b目录下的c目录下的2.txt文件复制到当前目录(桌面)
当然,如果不改原文件名可以这样写要省事儿些:cp ~/桌面/a/b/c/2.txt .
作用也是一样的。
cp 配合选项-i可以覆盖文件前提示,例如桌面上已经有一个2.txt的文档和我们要复制的文档内容不一样
执行命令:cp ~/桌面/a/b/c/2.txt .
会不提示直接覆盖桌面上的2.txt
使用cp 配合选项-i可以覆盖文件前提示:
输入y回车会确认覆盖,输入n回车不覆盖(原文件内容不变,所以如果同名就无法复制,可以改名字例如:cp ~/桌面/a/b/c/2.txt ./a.txt)
cp 还可以配合选项-r,和rm一样加上-r是操作目录的,而cp 配合选项-r作用就是若给出的源文件是目录文件,则 cp 将递归复制该目录下的所有子目录和文件,但要注意目标文件必须为一个目录名。
mv 命令可以用来 动文件或目录,也可以给文件或目录重命名,这个可以直接对目录进行移动并需要加-r选项。
和cp一样mv加上-i会在覆盖文件前提示,建议使用mv命令时最好加上-i选项,防止同名文件被覆盖造成重要文件丢失问题。
cat 命令可以用来 查看文件内容、创建文件、文件合并、追加文件内容 等功能。
cat 会一次显示所有的内容,适合查看内容较少的文本文件:
cat配合选项-b 对非空输出行编号:
cat配合选项-n 对输出的所有行编号:
more 命令可以用于分屏显示文件内容,每次只显示一页内容
适合于 查看内容较多的文本文件,查看文件大概是这样子:
可以根据需要用以下功能键操作:
空格键 显示手册页的下一屏
Enter 键 一次滚动手册页的一行
b 回滚一屏
f 前滚一屏
q 退出
/word 搜索 word 字符串
Linux 系统中 grep 命令是一种强大的文本搜索工具
grep允许对文本文件进行 模式查找,所谓模式查找,又被称为正则表达式。
举例,1.txt文本内容:
例如查找文本中的ff:
grep -n 显示匹配行及行号
grep -v 显示不包含匹配文本的所有行(相当于求反)
grep -i 忽略大小写
echo通常会和 重定向 联合使用
Linux 允许将命令执行结果重定向到一个 文件,将本应显示在终端上的内容 输出/追加 到指定文件中
其中
> 表示输出,当前目录没有该文件名会自动创建一个文件并将要输出的内容写入,有会覆盖文件原有的内容
可能还是感觉用处不大,再想一想,如果和前面学的一些一块儿使用呢?
这个作用就凸显出来了,原来>可以将使用过的终端命令结果保存在文件中,方便查看记录。
>> 和>用法差不多,但它表示追加,会将内容追加到已有文件的末尾
大家可以自己试着敲一些其他命令看看效果。
再总结一下:> 和>>将本应显示在终端上的内容 输出/追加 到指定文件中,
这个和touch 比较它的优点就是可以给文件指定内容。
Linux 允许将 一个命令的输出 可以通过管道 作为另一个命令的输入
可以理解现实生活中的管子,管子的一头塞东西进去,另一头取出来,这里 | 的左右分为两端,左端塞东西(写),右端取东西(读)
常用的管道命令有:
more:分屏显示内容
grep:在命令执行结果的基础上查询指定的文本
例如:
ls –alh ~ | more 将ls显示的的内容分屏显示
ls –alh ~ | grep vi 将ls显示的的内容包括vi的显示出来,其他不显示