
Linux命令行与shell脚本编程大全笔记
化繁为简,快速查阅相关的命令用法
while_false_
一起来刷题呀
展开
-
Linux命令行与shell脚本编程大全笔记(创建实用的脚本)
文件归档exec < $config_file #重定向输入read FILE_NAMEwhile [ $? -eq 0 ]do xxx read FILE_NAMEdonetar -czf test.tar $file_list 2 > dev/null管理用户账户ps -u $USER_NAME > /dev/nullcommand1="ps -u...原创 2019-08-02 11:31:01 · 169 阅读 · 0 评论 -
Bash shell环境变量
变量描述*含所有的命令行参数(以单个文本值的形式)@含所有的命令行参数(以多个文本值的形式)#命令行参数数目?最近使用的前台进程的退出状态码-当前命令行选项标记$当前shell的进程ID(PID)!最近执行的后台进程的PID0命令行中使用的命令名称_shell的绝对路径名LANGshell语言环境分类...原创 2019-07-30 16:17:44 · 197 阅读 · 0 评论 -
Bash shell外部命令
命令描述bzip2采用Burrows-Wheeler块排序文本压缩算法和霍夫曼编码进行压缩cat列出指定文件的内容chage修改指定系统用户账户的密码过期日期chfn修改指定用户账户的备注信息chmod为指定文件或目录修改系统安全权限chown修改指定文件或者目录的默认属主chpasswd读取一个包含登录名、密码的文件并更新密码...原创 2019-07-30 16:02:51 · 477 阅读 · 0 评论 -
Bash shell 内建命令
Shell 内建命令,就是由 Bash 自身提供的命令,而不是文件系统中的某个可执行文件命令说明:扩展参数列表,执行重定向操作.读取并执行指定文件中的命令(在当前 shell 环境中)alias为指定命令定义一个别名bg将作业以后台模式运行bind将键盘序列绑定到一个 readline 函数或宏break退出 for、while、se...转载 2019-07-30 14:50:11 · 480 阅读 · 0 评论 -
Linux命令行与shell脚本编程大全笔记(gawk进阶)
内建变量$1, $2, $3 .... 以字段分隔符分割的1,2,3段字段gawk 数据字段和记录变量变量描述FIELDWIDTHS由空格字段分割的一系列数字,定义了每个数据字段的确切宽度FS输入字段分隔符OFS输出字段分隔符RS输入记录分隔符ORS输出记录分隔符*默认情况下,gawk将OFS设置为一个空格, RS,ORS为换行符...原创 2019-07-30 10:48:36 · 275 阅读 · 0 评论 -
Linux命令行与shell脚本编程大全笔记(sed进阶)
多行命令三个可用来处理多行文本的特殊命令:N: 将数据流中的下一行加进来创建一个多行组D: 删除多行组中的一行P: 打印多行组中的一行模式空间:sed编辑器的工作空间单行next命令 nn 小写的n命令告诉sed编辑器移动到数据的下一行# 删除首行之后的空行$cat date1.txtThis is the header line.this is a data line....原创 2019-07-29 11:35:19 · 268 阅读 · 0 评论 -
Linux命令行与shell脚本编程大全笔记(正则表达式)
*正则表达式就是所定义的模式模板*正则表达式不关心数据在数据流中的位置*都区分大小写*可以在正则表达式中使用空格和数字*若使用特殊字符则必须转义(\)反斜线*特殊字符为: ^ $ . [] * \ 和 ? + {} | ()基础正则表达式-BRE字符释义^$.[]*\...原创 2019-07-17 11:31:36 · 241 阅读 · 0 评论 -
Linux命令行与shell脚本编程大全笔记(gawk基础)
gawk 是 awk程序的GNU版本,能够提供一个类编程环境来修改和重新组织文件中的数据*定义变量保存数据*使用算术和字符串操作符来处理数据*使用结构化编程(if-then等)来为数据处理增加处理逻辑、*通过提取数据文件中的数据元素,将其重新排列或格式化,生成格式化报告gawk选项选项描述-F fs指定行中划分数据字段的字段分隔符-f file从指定的文件...原创 2019-07-16 14:51:46 · 155 阅读 · 0 评论 -
Linux命令行与shell脚本编程大全笔记(创建菜单)
#!/bin/bashfunction diskspace { clear df -k}function whoseon { clear who}function memusage { clear cat /proc/meminfo}function my_menu { clear # 清空当前屏幕 echo ...原创 2019-07-15 14:39:51 · 285 阅读 · 0 评论 -
Linux命令行与shell脚本编程大全笔记(创建函数)
基本的脚本函数# 第一种方式function fname { #脚本中定义的函数名称必须有唯一的名称 commands}# 另外一种方式fname() { commands}# 如果在函数定义前使用未定义的函数,会收到一条错误信息# 如果函数在之前已经定义过,则新定义的函数会覆盖之前的定义返回值$? 函数的退出状态码,是函数最后一条命令返回的退出状态码return ...原创 2019-07-15 13:56:33 · 210 阅读 · 0 评论 -
Linux命令行与shell脚本编程大全笔记(控制脚本)
处理信号信号值描述1SIGHUP挂起进程2SIGINT终止进程3SIGQUIT停止进程9SIGKILL无条件终止进程15SIGTERM尽可能终止进程17SIGSTOP无条件停止进程,但不是终止进程18SIGTSTP停止或暂停进程,但不终止进程19SIGCONT继续运行停止的进程*bash she...原创 2019-07-09 17:29:04 · 221 阅读 · 0 评论 -
Linux命令行与shell脚本编程大全笔记(呈现数据)
输入和输出*Linux将每个对象当做文件来处理*文件描述符标识每个文件对象,为非负整数,每个进程一次最多开9个文件描述符*bash shell 保留前三个文件描述符 0, 1, 20 STDIN 标准输入cat 只输入cat命令,则从STDIN接受输入cat < testfile 从testfile接受输入1 STDOUT 标准输出*标准输出在终端界面上就是终端显示器ls ...原创 2019-07-08 18:28:30 · 174 阅读 · 0 评论 -
Linux命令行与shell脚本编程大全笔记(处理用户输入)
命令行参数$0 是程序名, $1第一个参数, 直到$9是第九个参数./a.sh aaa bbb ccc 命令行参数用空格隔开./a.sh 1 2 3 "ha ha" 'world hello' 命令行参数可以是数值,也可以是字符串,字符串中有空格需用单双引号表明./a.sh 1 2 3 4 5 6 7 8 9 10 11 若变量不止九个时,引用时需加{},${10}..../a.sh 用...原创 2019-07-05 18:00:32 · 340 阅读 · 0 评论 -
Linux命令行与shell脚本编程大全笔记(更多的结构化命令)
for命令# 一般默认是空格分割for i in a b c d efg hi; do echo $idone# ' " 要转义,方法一:用反斜杠; 方法二:用其他引号for i in I don\'t know if "this'll" work; do echo $idone# 从变量读取列表list="a b c"list=$list" d" # 向变量已有文本字符...原创 2019-06-24 17:55:37 · 150 阅读 · 0 评论 -
Linux命令行与shell脚本编程大全笔记(使用结构化命令 if case)
if-then语句# if 根据 后面命令执行的退出状态码决定是否执行后面的语句,只有退出码为0时,才会执行;# 命令执行出错的提示也会显示在终端--这个问题待解决if pwdthen echo "pwd is success"fi# 另一种形式if pwd; then echo "pwd is success"fiif-then-else语句# if后面的命令执行失败后...原创 2019-06-21 18:02:34 · 253 阅读 · 0 评论 -
Linux命令行与shell脚本编程大全笔记(构建基本脚本)
date; who 两个命令一起运行 ,who输出当前是谁登录了系统#!/bin/bash 创建脚本时,必须在文件第一行指定要使用的shell,shell不会解释#开头的行,除了第一行执行脚本./test.sh 要求将文件的执行权限加上(chmod u+x test.sh)sh test.sh 可以直接执行显示消息echo this is a test 不加任何引号可以打印thi...原创 2019-06-21 09:48:02 · 219 阅读 · 0 评论 -
Linux命令行与shell脚本编程大全笔记(vim编辑器)
alias vi 查看当前环境是否有vi的别名readlink -f /usr/bin/vi 立刻找出链接文件的最后一环sudo apt-get install vim 安装vim包vim会在非文件内容行放置一个~线vim的两种操作模式:普通模式,插入模式普通模式下的移动:h 左移一个字符l 右移一个字符j 下移一行k 上移一行Ctrl + f (PageDown) 下...原创 2019-06-19 14:40:33 · 163 阅读 · 0 评论 -
Linux命令行与shell脚本编程大全笔记(管理文件系统+安装软件程序)
ext 扩展文件系统(Linux最早的文件系统)ext2 第二代扩展文件系统(索引节点表增加了创建时间值,修改时间值,最后访问时间值)ext3 有序模式的日志功能-日志文件系统ext4 支持数据压缩和加密,支持区段特性,引入了块预分配技术yum list installed 列出已安装的包yum install package_name 用yum安装软件yum list updates...原创 2019-06-19 11:00:31 · 239 阅读 · 0 评论 -
Linux命令行与shell脚本编程大全笔记(理解Linux文件权限)
UID 每个用户有唯一的UID,但登录系统是用的是登录名/etc/passwd 保存的是将登录名匹配到UID/etc/shadow 保存的是系统及各用户密码,只有root用户可以访问root 的UID为 0Linux 为系统账号预留了500以下的UID值添加新用户useradd -D 查看Linux系统创建新用户的一些默认值参数描述-b更改默认的创建用户HOM...原创 2019-06-18 15:23:58 · 201 阅读 · 0 评论 -
Linux命令行与shell脚本编程大全笔记(使用Linux环境变量)
printenv 或者 env 查看当前环境变量printenv HOME 或者 env HOME (注意不加$符)echo $HOME (加$符号)set 显示所有的环境变量(全局,局部,用户自定义)局部变量*自己定义的局部变量小写(避免重新定义系统环境变量)*变量名,等号,值之间没有空格,否则会被当成单独的命令*值有空格的时候用引号界定首尾my_variable="hello ...原创 2019-06-17 18:00:53 · 155 阅读 · 0 评论 -
Linux命令行与shell脚本编程大全笔记(理解shell)
ls -l /bin/sh 查看系统shell设置shell的父子关系bash; bash; bash; 创建父子shellps --forest 查看进程关系进程列表(pwd; ls; pwd; ls) 加上括号就是一个进程列表(pwd; echo ${BASH_SUBSHELL}) 一个进程列表(pwd; (echo ${BASH_SUBSHELL})) 两个个...原创 2019-06-17 15:14:27 · 196 阅读 · 0 评论 -
Linux命令行与shell脚本编程大全笔记(更多的bash shell命令)
ps风格:Unix-前面加单破折号;BSD-前面不加破折线;GNU-前面加双破折线Unix风格的ps参数:参数描述-A显示所有进程-e显示所有进程-G显示组ID在grplist列表中的进程-U显示属主的用户ID在userlist列表中的进程-u显示有效用户ID在userlist列表中的进程-f显示完整格式的输出-j显示任务信...原创 2019-06-03 16:16:13 · 229 阅读 · 0 评论 -
Linux命令行与shell脚本编程大全笔记(基本的bash shell命令)
/etc/passwd 包含所有系统的用户账户列表以及每个用户的基本配置信息man (1, 2, 3) 访问存储在Linux上的手册页面q 退出; 空格 翻页;回车 逐行查看;大部分命令可以接受 --help命令查看更多的信息Linux使用正斜线(/)划分目录pwd 显示当前路径(.) 表示当前目录 (..)表示上级目录ls命令输出的列表是按字母排序的(按列排序)ls -F 可以...原创 2019-05-28 16:56:48 · 315 阅读 · 0 评论 -
Linux命令行与shell脚本编程大全笔记(sed基础)
一. sed编辑器介绍sed编辑器被称为流编辑器,sed编辑器根据命令来处理数据流中的数据,命令要么从命令行输入,要么存于文本中。一次读取一行数据根据编辑器命令匹配数据按照命令修改流中的数据新的数据输出到STDOUT二、sed 命令选项-e将指定的命令添加到已有的命令中-f将file中指定的命令添加到已有的命令中-n不产生命令输出,用print命令完...原创 2019-01-30 15:26:12 · 258 阅读 · 0 评论