linux命令行学习日志

 

一.学习shell

   几个简单的命令

  • date:显示当前系统的时间和日期。
  • cal:显示当月的日历。
  • df:查看磁盘驱动器当前可用空间。
  • pwd:查看当前工作目录。
  • cd:改变目录。
  • ls:列出目录内容。
  • file:确定文件类型,file filename
  • cp:复制文件和目录
  • mv:移动或重命名文件和目录
  • mkdir:创建目录
  • rm:删除文件和目录
  • ln:创建硬链接和符号链接,ln file link创建硬链接,ln -s item link 创建符号链接。item可以是文件也可以是目录。
  1. 使用less查看文件内容:less命令属于“页面调度器(pagers)”程序类 

       less操作命令:

  • PAGE UP或b                            后翻一页
  • PAGE DOWN 或Spacebar       前翻一页
  • 向上箭头键                                向上一行
  • 向下箭头键                                向下一行
  • G                                                跳转到文件末尾
  • 1G或g                                        跳转到文件开头
  • /string                                         向前查找到指定的字符串
  • n                                                 向前查找下一个出现的字符串
  • h                                                 帮助
  • q                                                  退出

  linux系统的文件目录

linux命令行学习日志_第1张图片

linux命令行学习日志_第2张图片

通配符
通配符 匹配项
*

匹配任意多个字符(包括0个和1个)

匹配任一单个字符(不包括0个)

[characters] 匹配任意一个属于字符集中的字符
[!characters]

匹配任意一个不属于字符集中的字符

[[:class:]] 匹配任意一个属于指定字符类中的字符
[:alnum:] 匹配任意一个字母或数字
[:alpha:] 匹配任意一个字母
[:digit:] 匹配任意一个数字
[:lower:] 匹配任意一个小写字母
[:upper:] 匹配任意一个大写字母

二.命令的使用

什么是命令

  • 可执行程序
  • shell内置命令。bash支持许多在内部称之为shell builtin的内置命令
  • shell函数。shell函数是合并到环境变量中的小型shell脚本
  • alias命令。自定义命令

    1.type——显示命令的类型(例如:type  ls)

    2.which——显示可执行程序的位置(例:which  ls)

    3.man——显示程序的手册页(例如:man  ls)

    4.apropos——显示合适的命令

    5.info——显示程序的info条目

    6.whatis——显示命令的简要描述

    7.alias——自定义命令(alias  name='string')

三.重定向

I/O重定向。这个功能可以把命令行的输入重定向为从文件中获取内容,也可以吧命令行的输出结果重定向到文件中。将多个命令行关联起来,将形成强大的命令——管道。

  • cat:合并文件。
  • sort:对文本行排序
  • uniq:报告或删除文件中重复的行
  • wc:打印文件中的换行符、字和字节的个数
  • grep:打印匹配行
  • head:输出文件的第一部分内容
  • tail:输出文件的最后一部分内容
  • tee:读取标准输入的数据,并将其内容输出到标准输出和文件中

1.   标准输入(stdin)、标准输出(stdout)和标准错误(stderr)

默认情况下,标准输出和标准错误都将被链接到屏幕上,并且不会被保存在磁盘文件中,标准输入默认情况下连接到键盘。I/O重定向功能可以改变输出内容发送的目的地,也可以改变输入内容的来源地

2.   标准输出重定向

重定向操作符  “>”  ,后面接文件名,就可以把标准输出重定向到另一个文件中,而不是显示在屏幕上。直接使用”> 文件名“会得到一个空的文件或者是删除该文件的内容。

“>” 操作符会从文件的首位值开始覆盖文件,如果需要从文件末尾添加内容则可以使用操作符“>>”来实现。

3.   标准错误重定向

将标准错误输出到文件中则使用“2>”,如果希望将标准输出和标准错误重定向到同一个文件中,则(1).ls  -l  /bin/usr  >  out.txt  2>&1        (2).ls   -l   /bin/usr   &>   out.txt

如果不想有任何输出则可以重定向到/dev/null 的特殊文件中

4.   标准输入重定向

使用重定向符“<”就可以把标准输入的源从键盘修改为文件了(cat  <   in.txt)

cat——合并文件

cat命令读取一个或多个文件,并把他们复制到标准输出文件中,格式:cat  [file ...]

将多个文件合并为一个文件——例:将file1.txt,file2.txt,file3.txt合并在一起,cat  file*.txt  >  file.txt

管道

命令从标准输入到读取数据,并将数据发送到标准输出的能力,是使用了名为管道的shell特性。使用管道操作符“|”可以吧一个命令的标准输出传送到另一个命令的标准输入中。例:ls  -l  /usr/bin  |  less

过滤器

管道功能经常用来对数据执行复杂的操作,也可以把多条命令合在一起构成一个管道,这种方式中用到的命令通常被称为过滤器(filter)。过滤器接收输入,按照某种方式对输入进行改变,然后再输出。

  • sort——按照顺序排序
  • uniq——报告或忽略文件中重复的行,在uniq命令后面添加-d选项可以查找重复行的列表。
  • wc——打印行数、字数和字节数
  • grep——打印匹配行,用来在文件中查找匹配文本
  • head/tail——打印文件的开头/结尾部分,例如:head -n 5  test.txt打印文件开头5行内容
  • tee——从stdin读取数据,并同时输出到stdout和文件

四.高级键盘技巧

1.   编辑命令行

bash使用了一个名为Readline的库(供不同的应用程序共享使用的线程集合)来实现命令行的编辑。

1.1光标的移动

linux命令行学习日志_第3张图片

1.2 修改文本

linux命令行学习日志_第4张图片

1.3 剪切和粘贴文本

linux命令行学习日志_第5张图片

2. 自动补齐功能——按下Tab键触发

五.权限

涉及命令:

  • id:显示用户身份标识
  • chmod:更改文件的模式,chmod   777   test.txt
  • umask:设置文件的默认权限
  • su:以另一个用户的身份运行shell
  • sudo:以另一个用户的身份来执行命令
  • chown:更改文件的所有者
  • chgrp:更改文件所属群组
  • passwd:更改用户密码

1.文件类型:

    

  1. 文件类型
  2. 所有者权限
  3. 组权限
  4. 其他用户权限

2.查看文件属性:

linux命令行学习日志_第6张图片

3.权限属性

属性     文件 目录
r 允许打开和读取文件 如果设置了执行权限,那么允许列出目录下的内容
w 允许写入或者截短文件;如果也执行了执行权限,那么目录中的文件允许被创建、被删除以及被重命名 但是该权限不允许重命名或者删除文件。是否能重命名和删除文件由目录权限决定
x 允许把文件当作程序一样来执行,用脚本语言写的程序文件必须被设置为可读,以便能被执行 允许进入目录下

六.进程

  • ps:显示当前所有进程的运行情况
  • top:实时显示当前所有任务的资源占用情况
  • jobs:列出所有活动作业的状态信息
  • bg:设置在后台中运行作业
  • fg:设置在前台中运行作业,fg   %作业号
  • kill:发送信号给某个进程
  • killall:杀死指定名字的进程
  • shutdown:关机或重启系统

6.1进程如何工作

系统启动时,内核先把它的一些程序初始化为进程,然后云新一个称为init的程序。init程序将依次运行一系列称为脚本初始化的shell脚本,这些脚本将会启动所有的系统服务。其中的很多服务都是通过守护程序来实现的。而后台程序只是在后台做自己的事,并且没有用户界面。一个程序的运行可以触发其他程序的运行,在进程系统中这种情况被表述为父进程创建子进程。

内核会保存每个进程的信息以便确保任务有序进行。每个进程将被分配一个进程ID,init进程的PID始终为1。

进程状态

linux命令行学习日志_第7张图片
想要在启动程序时让程序在后台运行,可以在命令后面加上(&)来实现。使用fg  %作业号,使进程回到前台运行。暂停进程Ctrl-Z
 

 

 


 

 

 

 

 

 

 

 

你可能感兴趣的:(linux学习)