《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. B-树 分合之道

    P.s:在代码里会同时用到向量和B-树的search,insert, remove,具体调用的是哪个结构的函数结合上下文就能看懂. 根据上一篇文章,我们对于这棵树的大致结构已经明了,那该如何有效利用并 ...

  2. python正则表达式01--贪心算法和非贪心算法findall()

    import re st = 'asdfasxxixxdafqewxxlovexxsadawexxyouxxas' # . #点匹配除换行符外的任意字符 a0 = re.findall('xx.',s ...

  3. spark练习--统计xxx大学的各个少数名族的情况

    最近,有一份数据,是关于学校的数据,这个里面有所有学生的信息,今天闲来没事,我就想用spark的方式来读取文件,并且来统计这个学校的各个民族的情况,以前我用hadoop中mapReduce来计算,不得 ...

  4. impala presto SparkSql性能测试对比

      目标是为测试impala presto SparkSql谁的性能更佳,以下结果底层查询的都是普通textfile snappy压缩后数据,规模为15台机器,若以orcfile.parquet速度能 ...

  5. User_Authentication_Personalization Model

    花了一天时间实现了一个 简单的用户登录验证的小模型. 基本实现了现在 用户登录模块的绝大多数功能, 也算是 熟悉了一下系统的逻辑. 在这个小模型中, 实现了以下的基本功能 : Logging in a ...

  6. issubclasss/type/isinstance/callable/super

    issubclass() : 方法用于判断第一个参数是否是第二个参数的子子孙孙类. 语法:issubclass(sub, super) 检查sub类是否是 super 类的派生类 class A: p ...

  7. 15,redis基础学习

    redis Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间件 yum安装redis 1.yum安装 #前提得配置好阿里云yum源,epel源 #查看 ...

  8. ST-LINK JLINK JTAG SWD接线图

  9. 内存泄漏分析 mat 使用 activity泄漏

    https://github.com/square/leakcanary square 公司出品 mat 下载地址: http://pan.baidu.com/s/1kVPoIxx 两天,一个内存泄漏 ...

  10. SparkSteaming中直连与receiver两种方式的区别

    SparkStreaming的Receiver方式和直连方式有什么区别? Receiver接收固定时间间隔的数据(放在内存中的),使用高级API,自动维护偏移量,达到固定的时间才去进行处理,效率低并且 ...