《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/目录找回;

《Linux命令、编辑器与shell编程》第三版 学习笔记---002的更多相关文章

  1. python cookbook第三版学习笔记十:类和对象(一)

    类和对象: 我们经常会对打印一个对象来得到对象的某些信息. class pair:     def __init__(self,x,y):         self.x=x         self. ...

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

    Linux概述 1.具有内核编程接口 2.支持多用户(同时) 3.支持多任务 4.支持安全的分层文件系统 a.标准 b.链接 c.权限 5.shell(命令解释器和编程语言) a.文件名生成(通配符和 ...

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

    Linux概述 1.具有内核编程接口 2.支持多用户(同时) 3.支持多任务 4.支持安全的分层文件系统 a.标准 b.链接 c.权限 5.shell(命令解释器和编程语言) a.文件名生成(通配符和 ...

  4. 《Linux命令、编辑器与shell编程》第三版 学习笔记---003 使用multibootusb

    1.下载文件https://codeload.github.com/mbusb/multibootusb-8.9.0.tar.gz,使用命令: tar xvf multibootusb-8.9.0.t ...

  5. [读书笔记]Linux命令行与shell编程读书笔记04 安装软件,编辑器注意事项

    1. debian以及redhat两种主流的linux发行版用的包管理工具 debian的包管理工具是 dpkg 再现安装的是 apt apt的工具主要有 apt-get apt-cache apti ...

  6. [读书笔记]Linux命令行与shell编程读书笔记02 环境变量以及其他

    1. Linux的环境变量. 全局环境变量的查看 printenv 一个结果示例 XDG_SESSION_ID=354TERM=xtermSHELL=/bin/bashSSH_CLIENT=10.24 ...

  7. [读书笔记]Linux命令行与shell编程读书笔记01

    1. Linux的组成部分 1)linux内核(kernel) 2)GNU工具链 3)GUI/CLI工作几面(shell) 4)应用程序(app) 2Linux内核的主要工作: 1) 管理内存 2)管 ...

  8. [读书笔记]Linux命令行与shell编程读书笔记03 文件系统等

    1. 文件系统的种类 ext ext2 ext3 ext4 JFS XFS 其中ext3 开始支持journal日志模式 与raid卡类似 有 数据模式  排序模式 以及回写模式 数据模式最安全 回写 ...

  9. 《Linux内核设计与实现》第三章学习笔记

    第三章  进程管理 姓名:王玮怡  学号:20135116 一.进程 1.进程的含义 进程是处于执行期的程序以及相关资源的总称,程序本身并不是进程,实际上就是正在执行的代码的实时结果.Linux内核通 ...

随机推荐

  1. python创建字典

    创建: {x:x**2 for x in (2,4,6)} dict(xjm=110,lxh=119,pzq=120) dict([('a',1),('b',2),('c',3)])

  2. python面向对象的反射

    python面向对象中的反射:通过字符串的形式操作对象相关的属性.python中的一切事物都是对象(都可以使用反射) getattr # 根据字符串的形式,去对象中找成员.hasattr # 根据字符 ...

  3. web.py上传文件并解压

    有个需求是从php端上传zip文件到python端并且解压到指定目录,以下是解决方法 1.python端,使用的web.py def POST(self): post_data = web.input ...

  4. 掌握OpenStack部署的最佳实践 打破部署失败的魔咒

    部署OpenStack环境并不是一项简单的任务:根据SUSE最近的调查显示“曾经部署过OpenStack的企业当中有一半都失败了”.然而,随着最佳实践的出现,企业可以使用其避免在部署OpenStack ...

  5. 关于JavaScript设计模式的学习(二)

    第二部分来了,是关于结构型的,同样的,还是在简书中,GitHub上也有代码示例和详细注释 简书:http://www.jianshu.com/p/face1be4b846 github:https:/ ...

  6. webstrom11 vue插件配置

    直接上图 1. 安装vue插件 2.添加模板 3.指定模板类型 最新的是插件 是 vue.js 创建完 Vue File 文件后 需要在 下面这里关联一下

  7. 洛谷P1071潜伏者(提高组)

    题目描述 R国和S国正陷入战火之中,双方都互派间谍,潜入对方内部,伺机行动.历尽艰险后,潜伏于S国的R 国间谍小C终于摸清了 S 国军用密码的编码规则: 1. S国军方内部欲发送的原信息经过加密后在网 ...

  8. Python编码报错

    Python默认编码错误SyntaxError: Non-ASCII character '\xe5'之解决方法在编写Python时,当使用中文输出或注释时运行脚本,会提示错误信息:SyntaxErr ...

  9. 抓取HTML网页数据

    (转)htmlparse filter使用 该类并不是一个通用的工具类,需要按自己的要求实现,这里只记录了Htmlparse.jar包的一些用法.仅此而已! 详细看这里:http://gundumw1 ...

  10. Could not automatically select an Xcode project. Specify one in your Podfile like so

    需要将Podfile文件放置在根目录下,而不能放置在项目的里面. 更改路径即可