Linux命令行与shell脚本编程大全学习(linux命令行部分)
第一章 初识Linux shell
第二章 走进shell
第三章 基本的bash shell命令
- cd
- pwd:显示出shell当前目录
- ls -F -R -l
- *和?和[ ]和[ a - i ]和!可以作为元字符通配符
- touch
- cp -i -R
- 制表键自动补全
- 硬链接和符号链接(ln -s)
- mv -i
- rm -i -r -f
- mkdir -p
- rmdir:只能在文件夹为空的时候才能删除
- tree
- file
- cat -n -b -T
- more
- less:more的升级版
- tail -n 2
- head -n 2
第四章 更多的bash shell命令
- ps -ef… 有一个ps-forest挺有意思
- top:动态显示进程
- kill -s(支持其他信号):不过kill只能接进程的pid
- killall:可以接进程名称
- mount
- umount
- df:查看所有已挂载的磁盘的使用情况
- du:显示特定目录的磁盘使用情况
- sort:以行排序
- grep
- gzip;gzcat(我用的时候要zcat);gunzip实现对单个文件的压缩
- tar
第五章 理解shell
- shell不单单是一种CLI,是一个时刻都在运行的复杂交互式程序
- 存在默认的交互shell和默认的系统shell(用于那些需要在启动时使用的系统shell脚本),ubuntu的前者为bash后者为dash
- 启动子shell:如bash,然后可以随时exit
- 进程列表:在()里的一串命令,用;分割,如(sleep 2 ;echo $BASH_SUBSHELL;sleep 10);进程列表使得生成了一个子shell来执行对应的命令
- 后台模式:(sleep 2 ;echo $BASH_SUBSHELL;sleep 10)&,多加一个&就行
- jobs -l
- 协程:coproc sleep 10 (没建立子shell)coproc my_job{ sleep 10; }(建立子shell):作用是在后台建立一个子shell,并在这个shell中执行命令
- coproc(sleep 2 ;echo $BASH_SUBSHELL;sleep 10)这种复合用法会产生嵌套的子shell(我测试发现好像只额外建了一个shell)
- shell的外部命令:如ps,需要创建出一个子进程(衍生forking)
- shell的内建命令:如cd,exit,alias不需要借助外部程序文件来运行,速度快,执行效率高
- type -a echo 查看echo命令是外部还是内建
- which:查看命令位置(只能查到外部的)
- history -a
- alias -p 和alias ll = ‘ls -alF’
第六章 使用Linux环境变量
- 全局环境变量(能传到所有子shell里);局部环境变量
- my_var=hello
- echo $my_var
- export my_var
- unset my_var
- 一般情况用到变量加$,操作不加
- 在shell输入外部命令:在PATH里找,用:分割;添加PATH=$PATH:/home/christine
- 登陆shell:/etc/profile和其他四个文件作为启动文件;第一个文件又会调用/etc/profile.d目录下的所有文件;剩下的所有$HOME目录下的启动文件的作用:提供一个用户专属的启动文件来定义该用户所用到的环境变量 ; $HOME/.bash_profile或 $HOME/.profile会调用 $HOME/.bashrc
- 交互式shell:不是登陆系统时启动的(如命令行提示符下输bash):它不会访问/etc/profile文件,只会检查$HOME/.bashrc
- 非交互式shell:系统运行shell脚本用的shell;BASH_ENV来查看他的启动文件
- 数组变量:mytest=(1 2 3 4 5)
- echo $mytest
- echo $(mytest[2]) echo $(mytest[*])
- mytest[2]=6 unset mytest[2] unset mytest
第七章 理解Linux文件权限
- root的UID:0
- 系统账户:系统上运行的各种服务进程访问资源用的特殊账户,所有运行在后台的服务都需要用一个系统用户账户登陆到Linux系统上
- /etc/passwd /etc/shadow(有加密的密码和关于密码的日期那些东西)
- useradd -D(查看默认参数) -m(可以创建其HOME目录,并将/etc/skel目录中的文件复制过来) useradd -D -s /bin/tsh(改变默认shell)
- userdel -r(会删除对应的HOME目录和邮件目录)否则不会删除系统中属于该账户的任何文件
- usermod -g -G(前者还改变了默认用户组)
- passwd chpasswd
- chsh chfn chage
- /etc/group 当一个用户在/etc/passwd文件中指定某个组为默认组时,用户账户不会作为该组成员再出现在/etc/group中
- groupadd 如果更改了已登录系统账户所属的用户组,该用户必须登出系统后再登录,此时组关系的更改才会生效
- groupmod
- umask umask 022 文件的全权限值:666;目录的全权限制:777
- chmod 760 newfile 或者符号模式下指定权限的格式:chmod o+r newfile
- chown options owner[.group] file 如chown dan newfile
- chgrp
- SUID;SGID;SBIT:详细描述
第八章 管理文件系统
- fdisk
- 这章具体看鸟哥吧,鸟哥细
- sudo mkfs.ext4 /dev/sdb1
- mount
- fsck
- LVM相关问题:逻辑卷管理器
第九章 安装软件程序
- aptitude是完整的软件包管理系统;dpkg是软件包管理系统工具
- aptitude show package_name dpkg -L --search package_name(得到所有跟某个软件包相关的所有文件列表)
- aptitude search(install remove purge) wine
- aptitude safe-upgrade
- 另一种yum
- 直接从源码中下载安装
第十章 使用编辑器
- 很多种编辑器
Linux命令行与shell脚本编程大全学习(linux命令行部分)相关推荐
- Linux命令行与shell脚本编程大全:第2版
<Linux命令行与shell脚本编程大全:第2版> 基本信息 作者: (美)布卢姆(Blum,R.) 布雷斯纳汉(Bresnahan.C.) [作译者介绍] 译者: 武海峰 丛书名: 图 ...
- 《Linux命令行与shell脚本编程大全 第3版》Shell脚本编程基础---34
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下: 转载于:https://www.cnbl ...
- Linux命令行与shell脚本编程大全(第3版)
作者:[美] 布鲁姆(Richard Blum),布雷斯纳汉(Christine Bresnahan) 著,门佳,武海峰 译 出版社:人民邮电出版社 品牌:iTuring 出版时间:2016-08-0 ...
- Linux_《Linux命令行与shell脚本编程大全》第十八章学习总结
时间:2017年12月04日星期一 说明:本文部分内容均摘取自书籍<Linux命令行与shell脚本编程大全>,版权归原作者所有.<Linux命令行与shell脚本编程大全>( ...
- 《Linux命令行与shell脚本编程大全 第3版》Shell脚本编程基础---02
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下: 转载于:https://www.cnbl ...
- 《Linux命令行与shell脚本编程大全 第3版》Shell脚本编程基础---20
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下: 转载于:https://www.cnbl ...
- 《Linux命令行与shell脚本编程大全 第3版》Shell脚本编程基础---43
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下: 转载于:https://www.cnbl ...
- Linux_《Linux命令行与shell脚本编程大全》第二章学习总结
时间:2017年04月05日 说明:本文部分内容均摘取自书籍<Linux命令行与shell脚本编程大全>,版权归原作者所有.<Linux命令行与shell脚本编程大全>(第三版 ...
- 《Linux命令行与shell脚本编程大全 第3版》高级Shell脚本编程---32
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下: 转载于:https://www.cnbl ...
最新文章
- 一种二维条码图像处理流程
- 从ReLU到GELU,一文概览神经网络的激活函数
- 奕新集团--RAC环境后续
- vue商城项目源码_CMS全栈项目之Vue和React篇(下)(含源码)
- Windows之Wireshake之抓HTTP请求包(过滤目的IP)
- 论文浅尝 | 二维卷积知识图谱嵌入
- 数组实例的fill()方法 fill()方法
- 无心剑中译奥修《性、爱与慈悲》
- CCF	2018-3-1跳一跳
- Backup Exec 2010 R3 灾难恢复 Exchange 2010
- Oracle之自定义函数
- 多种交换机端口镜像 Port Mirroring 配置
- ugui 转轮_unity3D的FingerGestures小工具
- html添加微信号,html代码点击复制微信号并自动打开微信添加好友
- Processing 案例 | 郭锐文先生的 worms
- 使用swagger api 下载excel,excel打不开
- web全栈-第一讲:web开发基本知识点
- 数据分析中的严谨问题
- linaro根文件系统仓库
- 电力电子元器件行业研究:市场规模持续增长
热门文章
- 第九头驴的故事--不要忘了自己是谁
- C++QT实现压缩文件、文件夹和解压缩操作
- 天坑!c++调用python,遭遇R6034问题
- chrome内存泄露(一)、内存泄漏分析工具
- 华为智慧屏 S3 Pro 系列 评测
- 【计算机视觉】OpenCV 4高级编程与项目实战(Python版)【7】:拼接图像
- Extjs 前端校验的一些方式总结
- v-touch插件监听手机滑动事件
- 2022G1工业锅炉司炉考试试题及答案
- __attribute__((section(x))) 使用详解