《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. poj 1611 dsu

    The Suspects Time Limit: 1000MS   Memory Limit: 20000K Total Submissions: 35918   Accepted: 17458 De ...

  2. PHP.17-文本式留言板

    文本式留言板 思路: 1.首页:index.php  添加/查看信息界面 单纯的表单页面,注意留言内容为文本域<textarea> 2.添加信息页面:doAdd.php 1.获取要添加的留 ...

  3. HTML介绍和head标签-01

    主要内容 web标准 浏览器介绍 开发工具介绍 HTML介绍 HTML颜色介绍 HTML规范 HTML结构详解 一.web标准 web准备介绍: w3c:万维网联盟组织,用来制定web标准的机构(组织 ...

  4. 质数,$\varphi$和$\mu$线性筛

    typedef long long ll; bool check[N]; int mu[N],pri[N],tot; ll phi[N]; void init(int lim){ check[]=,p ...

  5. JavaScript获取时间

    var myDate = new Date();            console.log(myDate.getFullYear()); //获取完整的年份(4位,1970-????)       ...

  6. Pascal小游戏 贪吃蛇

    一段未完成的Pascal贪吃蛇 说这段代码未完成其实是没有源代码格式化,FP中一行最多只有255字符宽. uses crt; const screenwidth=50; screenheight=24 ...

  7. JFinal Template Engine 使用

    官方文档:JFinal Template Engine 文档

  8. table内容超出宽度时隐藏并显示省略标记

    HTML中,一个表格,要达到二个条件: 1.内容多了不自动换行: 2.固定单元格宽度.如果内容超出,则隐藏: 如 果在IE下,只是写成<table style="table-layou ...

  9. 解决IDEA2018.1.5或者Android Studio 3.0版本的输入法不跟随光标问题

    问题1:IDEA2018.1.5版本的输入法不跟随光标 解决办法1:修改JDK版本,步骤如下: 1. 使用快捷键ctrl+shift+A,在输入框中输入Switch Boot JDK,如图所示 2.替 ...

  10. hdu 6010 路径交

    hdu 6010 路径交(lca + 线段树) 题意: 给出一棵大小为\(n\)的树和\(m\)条路径,求第\(L\)条路径到第\(R\)条路径的交的路径的长度 思路: 本题的关键就是求路径交 假设存 ...