前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Unix & Linux 大学教程 学习总结

Unix & Linux 大学教程 学习总结

作者头像
三杯水Plus
发布2018-11-14 15:38:24
2.3K0
发布2018-11-14 15:38:24
举报
文章被收录于专栏:运维

两年前我看这本书时,是一本812页的厚书,现在我总结成了40句话,什么时候成了1句话就好了。

Unix & Linux 大学教程    Harley Hahn 0,操作系统最重要功能 控制计算机并在计算机启动或者重新启动时初始化计算机 支持与计算机交互所使用的界面 为需要使用计算机资源(磁盘空间、文件位置、处理时间、内存等)的程序提供接口 管理计算机的内存 维护并管理文件系统 调度工作 提供账户和安全服务 1,内核提供服务: 内存管理(虚拟内存管理,包括分页) 进程管理(进程创建、终止、调度) 进程间通信(本地,网络) 输入输出 文件管理 安全和访问控制 网络访问(如TCP/IP) 2,Unix=内核+使用工具(包括shell和gui) 3, Linus Torvalds 4,计算机系统: 计算机=终端+主机 终端=输入设施+输出设施 5,抽象层次 应用程序/用户 桌面环境 窗口管理器 X Window 内核中的设备驱动程序 硬件 6,进程线程 在Unix系统中,每个对象或者用文件表示,或者用进程表示。简单地讲,文件存放数据或者允许访问资源,而进程是正在执行的程序。 进程可以分成更小的单元,称为线程,线程是一组运行在进程环境中的指令。因此可以将程序的结构描述为,在一个进程之内,不止一个线程在同时进行。 7,运行级别 0    关机 1    单用户 2    非标准化 3    多用户:CLI 4    非标准化 5    多用户:GUI 6    重启 8,快捷键 Ctrl + Alt + Left/Right 工作区的切换(基于gnome桌面) 9,终端 stty -a 获取当前终端行设置 intr = ^C(停止正在运行程序); quit = ^\(停止程序并保存core文件); erase = ^?; kill = ^U(删除整行); eof = ^D(提示已经没有数据); start = ^Q(开始屏幕显示);erae = ^H(删除一个字符);stop = ^S(暂停屏幕显示); susp = ^Z(暂停,fg恢复到前台); rprnt = ^R(搜索history命令); werase = ^W(删除一个单词); lnext = ^V; flush = ^O; infocmp 打印终端信息  infocmp vt100 | less  (infocmp需要安装ncurses) echo $TERM 得到的默认终端是xterm export IGNOREEOF=5  可以按^D提示logout或者exit退出 10,which type whereis type 是 shell 内嵌,查看内置命令,bash 69个 help打印一些内置命令列表 11,cal -j 5 2014 查看2014年5月的每一天 12,uptime,uname 13,users,who,finger,w(谁正在做什么) 14,bc -l (支持+,-,*,/,%,^,sqrt(x),s(x),c(x),a(x),ln(x),j(n,x)) 15,RTFM(Read the fucking manual),xman (1).命令  (2).系统调用  (3).函数库  (4).特殊文件  (5).文件格式  (6).游戏  (7).杂项信息  (8).系统管理   man -f 快速查寻命令用法    whatis man -k 关键字        apropos man builtin man bash 16,环境变量 env perintenv set/unset(csh)    set term=vt100 setenv/unsetenv(csh) setenv TEST hello export(bash) set -/+o 显示shell选项控制(bash) 17,引用和转义 使用反斜线引用单个字符(称为转义了这个字符) 使用单引号引用一串字符 使用双引号引用一串字符,但是保留$,`,\的特殊意义 18,搜素路径 export PATH="/...:/..." set path=(/... /...) PS1  shell 提示 export PS1="\u\w\@\$" prompt(csh) ``命令替换 19,fc -l history 20,自动补全 文件名补全 命令补全 变量补全 用户标识补全 主机名补全(bash) 21,别名 alias,umalias alias 'a=alias' 22,初始化文件 .profile文件 .rc文件 登陆shell(.bash_profile) 非登陆shell(.bashrc) 23,输入输出 <重定向标准输入(同0<) >重定向标准输出(同1>) >>追加标准输出(同1>>) 2>重定向标准错误 2>>追加标准错误 2>&1将标准错误重定向到标准输出 >&或者&>重定向标准输出+标准错误(只适用于Bash) |管道 2>&1 |所有输出到管道 set -o noclobber 可以禁用>,但是可以用>|(强制重写) 24,编组和子shell (cd directory; command) 25,管道线分流tee(从标准输入读取数据发送屏幕和文件各一份) cat 1 2 3 |tee 123|grep hh (tee可以输出保存不止一个副本) 26,条件执行 command1 && command2(命令1成功执行后执行命令2) command1 || command2(命令1没有成功后执行命令2) 27,过滤器 cat|grep|sort|less (1)分析问题 (2)选择工具 (3)与他人讨论 (4)选择选项 28,文件简单操作 split 分割文件 tac 反转文本行顺序 rev 反转字符 colrm 删除指定的数据列,然后将剩余的数据写入标准输出 29,比较和抽取 cmp 逐字节地比较两个文件 comm 一行一行比较两个有序文本 diff    比较无序文本文件 cut -f 1,3-5 -d ':' /etc/passwd | sort (f列,d分隔符) cut -c1-8(c按字符) paste 可以将几个文件(其中每个文件都包含一列数据)组成一个大表 paste 水平组合数据,cat垂直组合数据 30,统计和格式化 nl 创建行号 wc 统计行、单词和字符 :set list 可视化制表符和空格 expand将制表符转换成空格(unexpand) fold分割行  fold -s -w 40 file  (40个字符一行,单词不分割) 31,选取、排列、组合及变换 grep (global re  print) ls -F /etc |grep -c "/" (c统计) -in(忽略大小写并按行号) -l (列出文件名) -v(reverse,相反) -x (占整行) -r(recursive,递归) -s(suppress,抑制) -E(egrep) look sort -dfnu(sort -u = sort|uniq = cat|sort|uniq) uniq -cdu(d只看重复行,u只看唯一行,c统计行数) join 合并有序数据 strings在二进制中搜索字符串 strings /usr/bin/sort tr A-Z a-z < old > new大小写转换 [:upper:] [:lower:] [:digit:] 32,非交互式文本编辑sed sed 's/h/H/g'ole >new   (-i in-place可以改变原始文件) (1)从输入流中读取一行 (2)执行指定的命令,对该行进行必要的交换 (3)将该行写入到输出流中 number [,number] |/regex/ 对指定行进行操作或者包含特定字符串的行 5,10s(5到10行) $s(最后一行) /OK/(字符串OK所在行) [0-9][0-9]包含两个连续数字的行 -e 多条更改 -f 文件 33,正则表达式 元字符 . ^ $ \<    匹配单词的开头 \>    匹配单词的结尾 [abc]    匹配abc中的任何字符 [^abc]    匹配不在abc中的任何字符 ()    组:视为一个单独的单元 |    匹配选择之一 \    引用:从字面上解释元字符 运算符 *    0或多次 +    1或多次 ?    0或1次 {n}    n次       (xyz){5}匹配字符"xyz"5次 {n,}    最少n次 {,m}    最多m次 {n,m}    n,m之间次  [0-9]{3,5}匹配3到5个数字 类 [:lower:]    a-z [:upper:]    A-Z     [:alpha:]    A-Za-z [:alnum:]    A-Za-z0-9 [:digit:]    0-9 [:punct:]    标点符号 [:blank:]    空格或制表符 grep -w 'cat' data grep '\<cat\>'data    \<和\>是整个数字或者单词,没有就是对字符串 grep '\bcat\b'data man ascii locale -a 34,显示文件 hexdump   hexdump -C /bin/grep |less   显示二进制文件 -C 文件 od      od -Ax -txlz /bin/grep |less 35,vim文本编辑器 命令模式 h j k l w e b r R x X D dd u U yy yw y10w y2) y5} 10yy p P xp    调换两个字符 ddp    调换两行 deep    调换2个单词 输入模式 i a o I A O 搜索模式 :/keywords :set number :set all .vimrc 36,文件系统 基于磁盘的文件系统 ext3、ext4,FAT32,HFS+(层次式文件系统),ISO 9660(CD-ROM),NTFS,UDF(可重写CD和DVD),UFS2(BSD,Solaris) 网络文件系统 NFS,SMB 特殊文件系统 devpts  伪终端的设备界面(PTY) procfs    proc文件系统 sysfs    系统数据文件系统(设备与驱动器) tmpfs    临时存储文件系统 37,目录操作 . .. ~ pushd popd dirs ls -CrR1F(C列,r字母表从大到小显示,R全部子目录,1文件名占一行,F带标志) ls -lrtu显示最近访问过得文件 -普通 d目录 l符号 b块 c字符 p管道 dumpe2fs /dev/sda1   | grep "Block size" tree    文件树 38,文件操作 setuid setgid umask shred -fvuz filename  清空文件内容 stat   file ls -i ln -s whereis locate find find  path ... test ... action... test如下: -name -iname -type -perm -user -group -empty -size -atime -ctime -mtime action如下: -print -fprint file -ls -exec command{} \;执行命令,{}指示匹配的文件名 -ok command{} \;同上,但是运行命令之前确认 -delete    删除文件 -fls file xargs处理查找到的文件 find ~ -type f | xargs ls -s (whoami;date) |xargs 39, 进程和作业控制 echo $$ 显示当前shell的PID echo $! 显示上一条移至后台的命令的PID sleeep (sleep 20;cat /etc/passwd) && vim /etc/termcap jobs ps fg bg suspend    挂起当前shell ^Z kill top prtstat pstree fuser nice

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2014/05/30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档