《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. [BZOJ2527] [Poi2011]Meteors(整体二分)

    对于单个国家,可以对答案进行二分,每次找出此时的陨石数量,如果大于需要的那么答案就在[l,mid],否则就在[mid+1,r]里面 而对于很多国家,也可以进行二分,solve(l,r,L,R)表示询问 ...

  2. [Bzoj2282]消防(二分答案+树的直径)

    Description 某个国家有n个城市,这n个城市中任意两个都连通且有唯一一条路径,每条连通两个城市的道路的长度为zi(zi<=1000). 这个国家的人对火焰有超越宇宙的热情,所以这个国家 ...

  3. ABAP CDS - SELECT, association

    ABAP CDS - SELECT, association Syntax ... ASSOCIATION [ [min..max] ] TO target [AS _assoc] ON cond_e ...

  4. Linux命令、权限

    一.新建用户natasha,uid为1000,gid为555,备注信息为“master”: groupadd -g 555 natasha useradd -u 1000 -g 555 -c mast ...

  5. PHP.13-日历类实现

    日历类实现 1.输出星期 calendar.class.php <?php class Calendar{ function out(){//输出表格 echo '<table align ...

  6. ElasticSearch学习笔记(三)-- 查询

    1. URISearch详解与演示 2. QueryDSL简介 3. 字段类查询简介及match-query 4. 相关性算分 5. match-phrase-query 6. query-strin ...

  7. SetConsoleCtrlHandler

    Excerpt: Registering a Control Handler Function   This is an example of the SetConsoleCtrlHandler fu ...

  8. CSS系列(7)CSS类选择器Class详解

    这一篇文章,以笔记形式写. 1,  CSS 类选择器详解 http://www.w3school.com.cn/css/css_selector_class.asp 知识点: (1)    使用类选择 ...

  9. 常用模块(time)

    import time # data = time.time() # 获取时间戳# data = time.localtime() # 获取操作系统时间,也称本地时间,可传入时间戳# data = t ...

  10. [译]8-spring bean的作用域

    在spring中使用<bean/>标签定义bean的时候,可以使用scope属性来定义bean的作用域.如果想要每次 从spring容器得到一个新创建的bean实例,可以指定scope=& ...