ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Unix & Linux 大学教程 学习总结

Unix & Linux 大学教程 学习总结

Linux操作系统 作者:下一站在哪 时间:2014-06-06 10:51:07 0 删除 编辑

  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 '\'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

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29661313/viewspace-1176787/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-05-16

  • 博文量
    24
  • 访问量
    43694