《Linux命令、编辑器与shell编程》第三版 学习笔记---002

时间:2023-03-08 16:01:56

《Linux命令、编辑器与shell编程》第三版 学习笔记---001

Linux命令、编辑器与shell编程

Shell准备

1、识别Shell类型

  echo  $0

  echo $BASH

  echo $SHELL

  上边三个命令结果都是:

  /bin/bash

2、终端常用操作

  a、删除单个字符 c+h或退格键

  b、删除单个单词 c+w

  c、删除单个行 c+u

  d、重复编辑命令行 arrowUp或arrowDown

  e、中断命令执行c+C

3、切换为root用户  

  a、su命令后,输入root密码

  b、sudo命令,输入用户密码,需执行该命令的用户在sudo组中

4、文档查看

  a、使用man

    1)、用户命令

    2)、系统调用

    3)、子例程

    4)、设备

    5)、文件格式

    6)、游戏

    7)、其他

    8)、系统管理

    9)、内核

    10)、新增

  b、apropos关键字搜索,可以不完全陪陪;whatis关键字搜索,完全匹配;

  c、权限

5、shell(命令解释器和编程语言)

  a、文件名生成(通配符和模糊文件引用)

  b、自动补全(命令、文件名、目录名、变量名等补全)

  c、设备无关I/O(I/O重定向、设备及文件)

  d、作业控制(运行多个作业,作业间可切换)

  e、shell函数(解释器、解释语言、shell函数)

6、进程间通信

  a、管道,将一个输出作为另一个输入

  b、过滤器,将合理内容输出

7、系统管理

  a、设置系统

  b、安装软件

  c、编辑配置文件

  d、服务管理等

8、众多使用工具(sort grep等)

打造linux下命令删除的中转回收站

linux是没有回收站概念的,一旦误删除文件了是很难很难找回来的,对普通用户而言误删除文件就等于永久性不可逆丢失数据了;不过可以改造一下rm命令来变相实现回收站功能,实际上就是mv命令转移文件到指定路径,如果误操作删除了文件可以到这个指定文件夹内找回来;

这里我把~/.local/share/Trash这个文件夹定义为“回收站”

1、将以下内容找个合适的位置copy编辑进入.bashrc文件中:

 alias rm=myrm
myrm(){
for target in $@
do
if [[ "$target" =~ ^-[rf]+$ ]]; then
continue
fi
mv -i $target ~/.local/share/Trash
done
}

2、然后重新载入.bashrc文件

  source .bashrc
3、测试效果
  1)、建立新文件:touch 1.txt 
  2)、删除文件:rm 1.txt
  3)、查看目录:ls -l  ~/.local/share/Trash ,因该能看到删除的文件在这里了,成功
4、后遗症及解决办法:
  使用rm filename或rm -rf directoryname的文件和目录都会被自动移动到我们自己设置的目录中,如果想真正删除文件时,可以使用系统的资源管理器,例如dolphin中的删除菜单进行删除
5、命令行随机出命令提示信息:
  在.bashrc文件中,添加如下一行:
  echo "Did you know that:";whatis $(ls /usr/bin | shuf -n 1 | sed s/\*\$//)  
 

就这样Linux回收站就打造成功了,以后删除了文件就可以直接进入/root/.recycle/目录找回;