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 ...
最新文章
- c语言复杂性,C语言复杂函数
- seo外链优化需要规避的那些坑
- 自学python能赚钱吗-学习Python多久能找到工作?老男孩Python开发培训
- 最好的VLAN资料之十一
- 校园表白墙APP使用体验
- Java集合篇:Map总结
- js 字符串操作函数有哪些
- 驱动框架8——将驱动集成到内核中
- [转]Visual Studio 各版本下载
- 【高级数据类型】- 5.通道类型
- Redis基础(三)——数据类型
- 怎样成为一个优秀的领导?
- Code For Better 谷歌开发者之声——Flutter - Google 开源的移动 UI 框架
- Flask 个人网站重构上线
- 提交百度快速收录真的能达到秒收录吗
- uni-app微信小程序配置(三)
- 网页源文件代码隐藏的代码(转)
- 《青玉案·元夕》——辛弃疾
- Java面向对象之创建和使用对象——定义学生/教师类并输出相关信息
- java web 蓝牙打印_android 蓝牙打印机示例
热门文章
- Unity UGUI 效果 之 UI 元素 多边形UI (例如雷达图,圆形,不规则多边形 UI等)显示 的简单实现的几种方法整理
- VR虚拟现实|vr全景制作|vr全景拍摄|vr全景加盟|vr全景智慧城市
- 前端提高篇(116):简单了解postMessage通信
- 让你在上司眼里“更靠谱”的六个建议
- remote: Permission to xxx.git denied to xxx. fatal: unable to access 'https://github.com/xxx.git/':
- macOS 常用命令
- 英文思维-翻译式中文思维-“地道”中文思维
- 手写django框架
- PC键盘和苹果键盘的按键功能对照
- Android_HandlerThread 源码梳理