[linux 日记软件]linux学习日记范文

日记作文 2022-07-08 网络整理 晴天

【zuowen.jxxyjl.com--日记作文】

  只要能够操作应用程序的接口都能称为shell。狭义的shell指的是命令行方面的软件,包括bash。广义的shell则包括图形界面软件,因为图形界面其实也可以操作各种应用程序来调用内核工作,不过,在这里我们主要指的是bash。

  # type [-tpa] command –> 查看命令是否为bash的内置命令或者是外部命令

  * 利用$var或者是${var}可获取变量var的值

  * bash中的双引号:特殊字符如$等,可以保有原本的特性

  * bash中的单引号:所有的字符均为普通的字符,没有其他含义

  *可以用将特殊字符变成一般字符

  * 可用$(其他命令)来在命令中嵌套其他命令的返回值,也就是说:${var}取得变量var的值,$(command)取得命令返回值

  * 若变量需要在其他子进程中执行,需要export var 来使变量成为环境变量

  * unset var 可取消变量var的定义

  ====环境变量====

  # env –> 查看当前系统的环境变量

  $本身也是一个变量,表示本shell的PID号,比如 # echo $$ 输出本shell的PID

  ?本事也是一个变量,表示上一个执行的命令的返回值,一般如果是0表示执行成功,如果非0表示有问题。

  公共的语系编码设置:/etc/sysconfig/i18n

  # read [-pt] variable –> 键盘读取变量输入值

  -p:后面可以跟提示符

  -t:后面可以接等待的秒数,不会一直等待用户输入

  ====变量的声明====

  # declare [-aixrp] var

  -a:将后面的var定义为数组类型

  -i:将后面的var定义为integer整数类型

  -x:用法与export一样,就是将后面的var变成环境变量

  -r:将变量var设置成readonly状态,该变量不能被更改,也不能重设

  -p:单独列出变量的类型

  如果把-改成+表示取消操作

  ====限制用户的计算机资源使用====

  # ulimit [-SHacdfltu] [配额]

  -H:hardlimit,严格的限制,必定不能超过这个数值

  -S:softlimit,可以超过这个值,但有警告信息

  -a:后面不接任何参数,列出所有的限制额度

  -c:某些进程发生错误的时候,系统会将该进程在内存中的信息写成文件,称为内核文件。限制每个内核文件的最大容量

  -f:此shell可创建的最大单一文件容量,单位为KB

  -d:进程可以使用的最大内存量

  -l:可用于lock的内存量

  -t:最大的CPU时间(单位为秒)

  -u:单一用户可使用的最大进程(process)数量

  ====变量内容的删除与替换====

  # echo ${path#/*:} –> 删除path变量中最前面的那个以/开头,以:结尾的

  # echo ${path##/*:} –> 删除最长的那个,也就是说只保留了最后的一个路径

  # –> 符合替换文字的最短的那个

  ## –> 符合替换文字的最长的那个

  如果想从后面开始删,用%替换#即可

  接下来讲替换功能:

  # echo ${path/sbin/SBIN} –> 将第一个sbin替换成SBIN

  # echo ${path//sbin/SBIN} –> 将所有的sbin替换成SBIN

  我们将这部分总结说明下一下:

  变量设定方式   说明       ${变量#关键字}

  ${变量##关键字}   若变量內容从头开始的数据符合『关键字』,则将符合的最短数据删除

  若变量內容从头开始的数据符合『关键词』,则将符合的最长数据删除       ${变量%关键字}

  ${变量%%关键字}   若变量內容从尾向前的数据符合『关键字』,则将符合的最短资料删除

  若变量內容從尾向前的数据符合『关键字』,则将符合的最長资料删除       ${变量/旧字串/新字串}

  ${变量//旧字串/新字串}   若变量內容符合『旧字串』則『第一個旧字串会被新字串取代』

  若变量內容符合『旧字串』則『全部的旧字串会被新字串取代』

  # username=${username:-root} –> 如果username非空就取原值,如果没有设置或者为空字符串就设置成root

  ====bash登录界面与登录成功后的欢迎界面====

  tips:最好是单一bash登陆,然后利用job control来切换不同的工作,这样的话shell的history才能完全保存下来

  命令的执行搜索路径顺序:先alias,再builtin,再$PATH

  bash的登陆界面配置文件:/etc/issue,远处登陆界面配置文件:/etc/issue.net

  命令# man mingetty查看issue中各个代码的意义

  登陆成功后显示的信息配置文件:/etc/motd

  ====bash环境变量====

  login shell的配置文件:

  /etc/profile:系统全局配置文件,最好不要修改这个文件

  ~/.bash_profile或者~/.bash_login或者~/.profile:用户自定义bash配置文件

  ~/.bashrc,这个配置文件login shell和non-login shell都会读取

  ====bash中的通配符和特殊字符====

  符号   意义       *   代表『 0 个到无穷多个』任意字符       ?   代表『一定有一个』任意字元       [ ]   同样代表『一定有一个在括号內』的字元(非任意字元)。例如 [abcd] 代表『一定有一个字元, 可能是 a, b, c, d 这四个任何一个』       [ - ]   若有减号在中括号内时,代表『在编码顺序內的所有字元』。例如 [0-9] 代表 0 到 9 之间的所有数字,因为数字的语系编码是连续的!       [^ ]   若中括号內的第一个字元为指数符号 (^) ,那表示『反向选择』,例如 [^abc] 代表 一定有一个字元,只要是非 a, b, c 的其他字元就接受的意思。

  除了通配符之外,bash 環境中的特殊符號有哪些呢?底下我們先汇整一下:

  符号   內容       #   注释符号:这个最常被使用在 script 当中,视为说明#在后的语句均不执行          跳脱符号:將『特殊字符或万用字符』还原成一般字元       |   管道 (pipe):分隔两个管道命令的界定(后两节介紹);       ;   连续指令下达分隔符:连续性命令的界定 (注意!与管道命令不相同)       ~   使用者的家目录       $   取用变量前置字元:亦即是变量之前需要加的变量取代值       &   工作控制 (job control):将指令变成背景下工作       !   逻辑运算意义上的『非』 not 的意思!       /   目录符号,路径分割符号       >, >>   数据流重导向:输出导向,分別是『取代』与『累加』       <, <<   数据流重导向:输入导向 (这两个以后说明)       ‘ ‘   单引号,里面全是普通字符,不具备变量置换功能       ” “   具有变量置换的功能!       ` `   两个『 ` 』中间为可以先执行的指令,亦可使用 $( )       ( )   在中间为子 shell 的起始与结束       { }   在中间为命令区块的組合!

  ====数据流重导向====

  1,标准输入(stdin):代码为0,使用<或者<<

  2,标准输出(stdout):代号为1,使用>或者>>

  3,标准错误输出(stderr):代号为2,使用2>或者2>>

  >表示清空后添加,>>表示累加添加,append的意思。了解?o(╯□╰)o

  <表示原本由键盘输入的改由文件输入,而<<则表示遇到后面的字符串的时候结束输入。

  /dev/null:超级黑洞,它会吃掉任何导向到它的数据流,很强大的,不是麽。

  正确和错误输出到同一个文件的语法格式:

  find /home -name .bashrc > list 2>&1

  ====管道命令====

  管道命令需要注意的是:

  1,管道命令仅能处理standard output,对于stderr会忽略掉

  2,管道命令必须要能够接受来自前一个命令的数据成为standard input继续处理才行

  ====选取命令cut和grep====

  # cut -d ‘分割字符’ -f fields <== 用于分割字符

  # cut -c 字符范围 <== 用于排列整齐的信息

  -d:后面接分割字符,与-f一起使用

  -f:依据-d的分割字符将一段信息切割成为数段,用-f取出第几段的意思(-f 3,5)

  -c:以字符的单位取出固定字符区间 (-c 12-34)

  grep以行为单位分析信息,如果该行符合条件,则把该行提出出来

  # grep [-acinv] [--color=auto] ’查找的字符串’ filename

  -a:将binary文件以text文件方式查找

  -c:计算找到’查找的字符串’的次数

  -i:忽略大小写

  -n:顺便输出行号

  -v:反向选择,即显示出没有 ‘字符串’内容的那些行

  –color=auto : 关键字加上颜色

  ====排序命令sort,wc,uniq====

  # sort [-fbMnrtuk] [file or stdin]

  -f:忽略大小写

  -b:忽略最前面的空格

  -M:以月份的名字排序

  -n:使用数字排序(默认是文字来排序)

  -r:反向排序

  -u:就是uniq,相同的数据中,仅出现一行代表

  -t:分隔符,默认以TAB分割

  -k:以那个区间进行排序

  # cat /etc/passwd | sort -t “:” -k 3 <== 以第三列进行排序

  # last | cut -d ‘ ‘ -f 1 | sort

  # uniq [-ic] <==排序完成后将重复的数据仅列出一个显示

  -i:忽略大小写

  -c:进行计数

  #last | cut -d ‘ ‘ -f1 | sort | uniq -ic

  # wc [-lwm] <== 行数,字数,字符数统计命令

  -l:仅列出行

  -w:仅列出多少字(英文单词word)

  -m:多少字符(char)

  # cat /etc/man.config | wc

  ====双向重定向tee====

  # tee [-a] file

  -a:以累加(append)方式,将数据加入到file中

  # ls -l /home | tee -a ~/homefile | more

  ====字符转换命令:tr,col,join,paste,expand====

  # tr [-ds] SET1 …

  -d:删除信息中的SET1这个字符串;

  -s:替换掉重复的字符

  # last | tr -s ‘[a-z]‘ ‘[A-Z]‘

  # cat /etc/passwd | tr -d “:”

  # col [-xb]

  -x:将tab键转换成对等的空格键

  -b:如果在文字内有反斜杠,仅保留反斜杠最后接的字符

  # join [-ti12] file1 file2

  -t:join默认以空格符分割数据,并且对比第一个字段的数据,如果相同,合并到一行,且第一个字段放在第一个

  -i:忽略大小写

  -1:代表第一个文件要用那个字段来分析

  -2:代表第二个文件要用哪个字段来分析

  # join -t “:” -1 4 /etc/passwd -2 3 /etc/group

  # paste [-d] file1 file2 …

  -d:后面可以接分割字符,默认以tab来分割

  -:如果-file写成-,则表示来自stdin的数据

  # expand [-t] file

  -t :后面接数字,表示一个tab键可以转换成几个空格键

  # grep ‘^MANPATH’ /etc/man.config | head -n 3 | expand -t 6 – | cat -A

  ====切割命令split====

  # split [-bl] -file PREFIX

  -b:后面接欲切割成的文件的大小,可以加单位,如b,k,m,g等

  -l:以行数进行切割

  PREFIX:前导符,可作为切割文件的前导文字

  # split -b 300k /etc/termcap tercap

  ====参数代换xargs====

  # xargs [-0epn] command

  -0:如果输入的stdin含有特殊字符,比如`,,空格键等,这个参数可以将其还原成一般字符

  -e:EOF,后面可以接一个字符串,当xargs遇到这个字符串的时候,就停止继续工作

  -p:每次执行命令的参数时,询问用户

  -n:后面接次数,每次command执行时,要使用几个参数的意思

  # cut -d ‘:’ -f1 /etc/passwd | xargs -p -n 5 finger

  使用xargs的原因是:很多命令其实不支持管道命令,因此我们可以通过xargs来提供该命令引用stdin之用。

  # find /sbin -perm +7000 | xargs ls -l <== 找出/sbin下具有特殊权限的文件名

本文来源:https://zuowen.jxxyjl.com/rijizuowen/148470.html

  • 【关于过年的日记300字】关于过年的日记

    日记也指每天记事的本子或每天所遇到的和所做的事情的记录。下面是小编为你带来的关于过年的日记 ,欢迎阅读。关于过年的日记1  按照家乡的老规矩,过年从腊月二十三就开始了。  从这天开始,人们都忙着准备各式的年货,大街上人来人往,到处洋溢着喜庆的气息。  到了大年三十可真热闹,家家敢做年夜饭到处飘荡...

    发布于:2022-07-09

    详细阅读
  • 生活情感日志心情随笔|感叹生活日志心情随笔

    静待,落日的西沉  追求,完美的瞬间  太多太多的间接  太多太多的无意  若问谁是谁非  谁对谁的错  一切不都是尽在转念之间吗  落叶的凋零飘逝  是为了谁  大雁的离去  又是为了谁  一切的一切  又是何等的无奈  落日西沉  不正式完美的瞬间  却为何  一切又都也正如过往云烟  风一...

    发布于:2022-07-09

    详细阅读
  • 【三年级日记作文】理科班日记作文

    报到那一天,学校发了新书,其实,对我们来说,也不算新了。否则,就是补习班老师太水,就是我们在浪费父母的钱。但不管怎么样,我们都是在为国家扩大内需做贡献,以至于经融危机可以缓解。所以,大家都是爱国的。  新书推起来可以当堡垒,在它的掩护下,我们可以爱干嘛干嘛,但无疑,班主任是不允许我们这么做的,为...

    发布于:2022-07-09

    详细阅读
  • 秋游爬山的日记怎么写|秋游爬山的日记

    秋游你们都是去什么地方的?如果没有计划,爬山也是一个很好的选择。小编收集了秋游爬山的日记,欢迎阅读。秋游爬山的日记【一】  今天,我们背着装满零食的书包,排着整齐的队伍去秋游啦!  我和前排的同学边走边唱,可开心了!不知不觉我们走到了一座高大的山前,眼前是一段看不到尽头弯曲的石阶,一直延伸到半空...

    发布于:2022-07-09

    详细阅读
  • [电气专业实践报告3000字]电气专业实习日记

    篇一:电气专业实习日记  一、实习目的和要求了解电能生产的全过程及主要电气设备的构成、型号、参数、结构、布置方式,对电厂生产过程有一个完整的概念。熟悉该电厂主接线连接方式、运行特点;初步了解电气二次接线、继电保护及自动装置,巩固和加强所学理论知识,为今后走上工作岗位打下良好基础。同时学习工人阶级...

    发布于:2022-07-09

    详细阅读
  • [大暑写一篇作文]关于大暑写景的作文

    大暑节气也正是属于中伏阶段,也就是每年的最热的一个阶段。如下就为大家收集了关于大暑写景的作文,欢迎阅读!关于大暑写景的作文【1】  春天过后,就是夏天了。  夏天不单单有好吃的,还有美丽的景色。  池塘里,粉色的荷花在池塘中散发出阵阵清香,使人中不由自主地走来,白莲像一位小姑娘,穿着白裙子在池塘...

    发布于:2022-07-09

    详细阅读
  • 爱上告白日记作文|爱上写日记作文

    如果心情不好时、做错事时、不敢把话说出来时,有了“它”,我心中的“垃圾情绪”,可以向“它”倾倒;有了“它”,我心中的秘密,可以向“它”倾诉。“它”是谁呢?“它”就是我生活中最好的朋友、秘密的守护者——日记。  三年级时,老师要求我们写三十个字以上的日记,当时我非常的生气,为什么呢?因为日记也算是...

    发布于:2022-07-09

    详细阅读
  • 【电子实验室】电子专业实习日记

    20xx年11月25日 晴  其实今天不是我实习的第一天,今天是我写实习日记的第一天。早上醒的特别早,也有些兴奋,因为很早以前就盼着上班赚钱找社会经验。公司九点上班,我八点半就到了。我所实习的公司是桂林市九洲网络科技有限公司。我任职于市场部担任市场助理的角色。带着些几许敬畏和几缕不安,我走进了公...

    发布于:2022-07-09

    详细阅读
  • 日记体作文范文800字_日记作文范文800字

    20xx年9月19日星期一  现在这个时候,算是我一天中最安静的时间了,早上我屁颠屁颠地爬上五楼,我的宿舍502号,我满意地看到我还不是最后一个,我动手把我那几袋东西塞进柜子,不知什么时候,小小的宿舍就塞满了人。哇,几乎“清一色”都是妈妈呢。我一屁股坐到一张床上,一个接一个地打量我室友们的妈妈。...

    发布于:2022-07-09

    详细阅读
  • 【小学作文妈妈生病了】小学作文日记:生病了

    日记,感冒了篇一:塞舌尔日记感冒  塞舌尔日记感冒  最近不知怎的,不小心就感冒了。说起感冒应该不是什么大事,可是到了这里,感冒却不得不让人注意。因为听他们说这里感冒一般十天半月是好不了的,如果不留意,说不定就会拖成什么大病,那时候可就会麻烦了。塞舌尔虽然是非洲地区比较富裕一点的国家,但它毕竟是...

    发布于:2022-07-09

    详细阅读

Copyright @ 2011- 优秀作文网 All Rights Reserved. 版权所有

免责声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。

 站长统计