Linux文件、目录基本管理与输入输出管理

1.文件基本管理

#)新建文件
  touch file file1…
在这里插入图片描述
#)新建目录
mkdir dir    新建目录(空目录)
mkdir -p dir   新建递归目录  -p=path
在这里插入图片描述
hello是一个递归型目录

#)删除文件
rm -f file1 file2 file3…    -f=force 强制删除
在这里插入图片描述
  file、file1已经被删除且在垃圾箱中也不存在,说明rm 命令是不可恢复的彻底删除命令
#)删除目录
rm -fr dir    -f=force  -r=recursive 递归删除
在这里插入图片描述
  在删除目录的时候必须加 -r 参数,否则不能删除
#)复制文件
cp file dest ##复制单个文件
cp file file2 file2 dir ##复制多个文件到指定目录
#)复制目录
cp -r sourcedir1 sourcedir2 dest ##复制源目录到指定目录
在这里插入图片描述
#)移动文件
mv file file1  相当于重命名
mv file dir  移动文件
mv /etc/passwd .   此命令中的"."代表当前目录
在这里插入图片描述
  我们可以看到,在将/etc/passwd文件复制到桌面上,执行mv passwd hello命令后,passwd文件消失,而hello中的内容则为原passwd文件的内容,相当于对passwd进行了重命名。
#)文件查看
cat   file #显示文件中的所有内容

  -n        file  #显示文件内容并在每行前加入行号

  -b        file  #显示文件内容并在每行前加入行号但是不包括空格

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
   我们可以看到,相比较 -n参数,-b参数在空行前没有标注行号

less  file   #分页浏览命令

  上|下     file   #逐行查看

  pgup|pgdn file   #主页查看 

  /关键字   file   #搜索文件中的关键字并高亮表示,"n"向下匹配一个关键字, "N"向上匹配一个关键字  

注意:less查看完成后,需要q(quit)/Ctrl+c进行退出

head   file   #默认显示文件前10行
head -n 3 file  #显示file前3行
在这里插入图片描述
tail file   #默认显示文件后10行
tail -n 3 file   #显示file后3行
在这里插入图片描述
#)文件修改
1.图形工具   gedit file
2.vim      vim file
#)文件统计
wc file ## 行数,单词数,字节数

  -l   file  ##行数
  -w   file  ##字数
  -m   file  ##字符数
  -c   file  ##字节数 ,统计一个文件的大小
  -L   file  ##最长行的字节数

在这里插入图片描述

2.文件路径

1.相对路径
  相对于当前系统文件位置,文件名称的简写,此名称前会自动添加"pwd"命令的的输出,相对路径文件名称前不会出现"/";
2.绝对路径
  文件在系统中的真实位置,在任何情况下都可以使用,绝对路径一定以"/"开头。
3.几个特殊目录

 .           ##表示此层目录
..           ##表示上一层目录
~           ##当前用户家目录
~usename    ##指定用户家目录
-            ##表示前一个工作目录
~+           ##当前目录
~-           ##当前目录之前所在的目录

4.linux的系统结构及目录分类
linux是一个倒树形结构顶级目录,"/"根目录
"/"下的二级目录有:

/bin        ##系统常规命令
/boot       ##系统启动目录
/dev        ##设备影射文件
/etc        ##系统配置文件
/home       ##普通用户家目录
/lib        ##32位函数库
/lib46      ##64位函数库
/media      ##光盘临时挂载
/mnt        ##手动临时挂载
/run        ##自动临时挂载
/opt        ##第三方软件安装位置
/proc       ##系统进程信息和硬件位置
/root       ##超级用户家目录
/sbin       ##系统管理命令
/srv        ##系统数据
/sys        ##内核相关调试
/tmp        ##临时文件
/usr        ##用户相关设定
/var        ##系统数据

5.关于系统路径的命令
pwd  显示当前路径
ls  dir   显示路径信息
在这里插入图片描述
ls -l ; file   ##显示目标文件属性
在这里插入图片描述
ls -l -d dir    ##显示目录本身属性
在这里插入图片描述
ls -R   dir   ##递归显示目录中的所有内容
在这里插入图片描述
ls -a      ##显示所有文件包括以"."开头的隐藏文件
ls -ad .*   ##显示所有隐藏文件
在这里插入图片描述
5.切换

cd              ##进入当前用户家目录  ..表示当前目录的上一级
cd /mnt         ##进入mnt目录
cd ..           ##退回进入当前目录的上级目录
cd -            ##当前目录和进入当前目录的目录切换

3.文件批处理

*     ##匹配0~任意字符
?    ##匹配单个字符     ""批量抓转义
[[:alpha:]]    ##匹配单个字母
[[:lower:]]    ##匹配单个小写字符
[[:upper:]]    ##匹配单个大写字符
[[:digit:]]    ##匹配单个数字
[[:alnum:]]    ##匹配单个数字或字母
[[:punct:]]    ##匹配单个符号
[[:space:]]    ##匹配单个空格
##[[:space:]][[:space:]]  匹配两个空格

{}             ##精确匹配
{1..5}
{a..c}         ##A&B&C
{1,2,3}

[]             ##模糊匹配
[a-c]          ##a|b|c,不能精确匹配目标
[1-3]
[!a-c]         ##不是a,b,c中的某一个
[^a-c]         ##不是a,b,c中的某一个

例如,要将/etc 下的所有文件名中带有数字并且以 .conf结尾的所有文件复制到桌面上,我们可以精确匹配:
在这里插入图片描述

4.输入输出管理

1.输出重定向

>       ##重定向正确输出
2>      ##重定向错误输出
&>      ##重定向所有输出

  “注意”:重定向动作会覆盖源文件内容
(执行下方命令使我们在/etc下寻找文件名为passwd 的文件)
在这里插入图片描述
  使用重定向命令,将正确的输出重定向到文件file 中,我们可以看到file中有两条正确的输出,而在shell中只存在错误的输出:
在这里插入图片描述
  同理,可以使用 2> 将错误的内容重定向到file.err文件中,则此时shell中只能看见正确的输出:
在这里插入图片描述
  也可以使用 &> 将所有输出重定向到file.all文件中,此时shell中不能看见输出,file.all文件中包含所有的输出:
在这里插入图片描述
2.输出追加
“追加会把定向的输出放到源文件最后不会覆盖源文件”

>>     ##重定向追加正确输出
2>>    ##重定向追加错误输出
&>>    ##重定向追加所有输出

  我们可以看到,使用 >>后,在原来file 中内容后面多了两行相同的内容,这说明正确的输出被追加到file的后面,file 原本的内容并没有被覆盖,则使用 2>>、&>>同理:
在这里插入图片描述
3.输入管理

"<<EOF
 内容
 EOF"

在这里插入图片描述4.管道

|            ##把第一条命令的正确输出变成第二条命令的输入,则执行完毕后只显示错误输出与第二条命令的输出
2>&1         ##将编号为2的错误输出转换成编号为1

例如:
在这里插入图片描述
在这里插入图片描述

5.命令行技巧

history        #显示历史#
history -c     ##临时清楚当前环境中的历史,内存中内容未清除,若要显示则需(重开shell)
       上|下          ##逐行翻阅历史
!数字          ##调用指定行数的历史
!字母          ##调用以此字母开头的最近一条命令
ctrl+(关键字)  ##调用含有此关键字的最近一行命令

猜你喜欢

转载自blog.csdn.net/weixin_41781946/article/details/82973658
今日推荐