linux命令的大概总结
# command [-options] parameter1 parameter2...
命令 选项 参数1 参数2
[]表示可执行或者可以忽略 ,使用时带-
命令太长的时候,可以使用反斜杠(\)来转义[enter]符号,使命令延续到下一行。
注意:反斜杠后立刻接特殊字符,才能转义
------简单命令的操作:
#date:显示日期和事件
date 系统时间
clock 硬件时间 hwclock 硬件时间
#cal:显示日历
#cal [[month]year]
#bc:计算器
------最重要的热键[tab],[ctrl]-c,[ctrl]-d
[tab]接在一串命令的第一个命令的后面,则为“命令补全”;
[tab]接在一串命令的第二个命令以后时,则为“文件补齐”。
[ctrl]-c:按着[ctrl]不放然后按下c,中断目前程序执行的命令;
[ctrl]-d:相当于输入exit.
-------man命令与info命令
#man
分的章节:
1:用户命令
2:系统调用
3:库调用
4:特殊文件(设备文件)
5:文件格式(配置文件的语法)
6:游戏
7:杂项(miscelllaneous)
8:管理命令
man 命令出来的意思详解。
NAME:命令的名称及功能简要说明
SYNOPSIS: 用法说明,包括可用的选项。
DESCRIPTION:命令功能的详尽说明,可能包括每一个选项的意义。
OPTIONS:说明每一个选项的意义
FILES: 此命令相关的配置文件
BUGS:
EXAMPLES:使用示例
SEE ALSO:另外参照
<>必须给出的 []可省略的 ...可以出现多次 |多选1 {}分组
解释太多要翻屏:
向后翻一屏:SPACE
前 :b
后 行:enter
前 :k
查找
/KEYWORD:向后
n:下一个
N:前一个
?KEYWORD:向前
n:下一个
N:前一个
q:退出
#info
在线文档:
info command 也就是解释命令的历史。如发生过神马大BUG之类的。
#nano
文本编辑器
-------------------------------------文件权限与目录配置-----------------------------------------
linux文件属性:
比如 #ls -all 出来的文件属性(单一取一个)
drwxr-x--- 4 root root 4096 sep 8 14:06 .
[1] [2] [3] [4] [5] [6] [7]
[权限] [连接][所有者][用户组][文件容量][修改日期][文件名]
[1] :
其中第一行:
d :表示目录
- :表示文件
l :表示连接文件 linkfile
b :表示设备文件里面的可提供存储的接口设备。--块设备
c :表示设备文件里面的串行端口设备,例如键盘鼠标(一次性读取设备)
其中后9行 rwx
r:可读read
w:可写write
x:可执行execute
其中后9行三个为一组,
第一组表示:文件所有者的权限
第二组表示:文件所属用户组的权限
第三组表示:其他非本用户的权限
改变文件的属性与权限:
#chgrp #chown #chmod
#chgrp:改变文件的用户组
#chgrp [-R] GRPNAME DIRNAME/FILENAME -R为递归的意思,既下层目录and文件同时改变
-R:修改目录及其内部文件的属组
--reference=/path/to/somefile file,... 改为跟哪个文件一样
#chown:改变文件的所有者
#chgrp [-R] 账号名称:组名 文件或目录(同chgrp)
-R:修改目录及其内部文件的属组
--reference=/path/to/somefile file,... 改为跟哪个文件一样
#cp
#cp 源文件 目标文件 (同样也复制其属性与权限)
#chmod:改变文件的权限
#chmod [-R] MODE DIRNAME/FILENAME,...
#chmod u(own),g(group),o(others),a(all) +(加入) -(除去) =(相同)
例子:#chmod u=rwx,go=rx .bashrc
数字类型改变文件的权限:
r:4 w:2 x:1
------------------------------------linux文件及目录管理--------------------------------------------
相对路径与绝对路径:理解即可。
目录的相关操作
.代表此层目录
..代表上一层目录
- 代表前一个工作目录
~ 代表“目前用户身份”所在的主文件夹
~account 代表account 这个用户的主文件夹(account是个账号名称)
#cd 切换目录
#pwd 显示当前目录
-P:显示连接路径
#mkdir 新建一个新的目录
-p:创建比如/x/y/z,没有y,直接先创建y然后z
-v: verbose 详细信息
#rmdir 删除一个空的目录
删除的只是空目录
删除文件 :rm
-f
-r
rm -rf / 切记此删除全部。!!
#ls :查看目录与文件
-h:做单位转换,作为ls里面字节大小的改动 如可以写作 ls -l -h
-a:显示以.开头的隐藏文件。
.表示当期目录 ..表示当前目录的上级目录
-A:显示所有隐藏文件但是不包括.和..
-d:显示目录自身属性
-i:显示文件的代码 比如 5645***文件 index node,inode
-r:逆序显示
-R:递归(recursive)显示
-l:列出长数据串,包含文件的属性与权限等数据
复制,删除,移动:cp、rm、mv
#cp:
-i 是否复制(小红帽特加的)
-f 强制
-L 复制的是文件不是路径
-P复制的是路径 -d同样也是保持连接自己
-R -r递归复制
-a备份
#rm:
-f 强制
-r 递归
rm -rf / 切记此删除全部。!!
#mv:
-i 是否复制(小红帽特加的)
-f 强制
-t (mv -t 目标 元)
-------------文件内容查阅
#cat
-A:相当于-vET的整合参数,可列出一些特殊字符,而不是空白而已;
-b:列出行号,仅针对非空白行做行号显示,空白行不标行号;
-E:将结尾的断行字符$显示出来;
-n:打印出行号,联通空白行也会有行号,与-b不同;
-T:将[tab]按键以^I显示出来
-v:列出一些看不出来的特殊字符
#tac(反向列示)
------------数据选取
#head(取出前边几行)(默认显示前10行)
-n:后面接数字,代表显示几行的意思
#tail(取出后面几行)
--------------修改文件时间或创建新文件:touch
#touch 修改文件的时间戳。不存在文件的时候添加文件
三个时间戳----3个。
-c 仅修改文件的时间,没有文件的时候不创建空文件
-a 修改访问时间 如 touch -a a 第二个a为文件
-m 修改修改时间
-t 指定的 如 touch -m -t 201577***
-d:后面可以接欲修改的日期而不用目前的日期,也可以使用 --date="日期或时间";
----------------文件默认权限umask
#umask
-----------------查看文件的类型:file
#file
file ~/.bashrc
---------------目录的容量查看#du
#du:
-a:列出所有的文件与目录的容量,因为默认仅统计目录下面的文件容量而已;
-h:以人们教易读的容量格式(G/M)显示;
-s:列出总量而已,而不列出每个个别 的目录占用容量;
-S:不包括子目录下的总计,与-s有点差别;
-k:以KB列出容量显示;
-m:以MB列出容量显示。
---------------------------------------bash----------------------------------------------
bash shell 的内置命令:type
#type:不加任何参数的时候,type会显示出name是外部命令还是内置命令
-t:当加入-t参数时,type会将name以下面这些字眼显示出它的意义:
file:表示为外部命令;
alias:表示该命令为命令别名所设置的名称;
builtin:表示该命令为bash内置的命令功能。
-p:如果后面接的name为外部命令时,才会显示完整文件名;
-a:会由PATH变量定义的路径中,将所有含name的命令都列出来,包含alias
变量的显示:echo
变量的读取:read
#read
-p:后面可以接提示符
-t:后面可以接等待的秒数,不会一直等用户;
so......#read atext
this is a text. <==此时光标会等待你输入。
#echo atext
this is a text.
so.......#read “Please keyin your name:” -t 30 named
命令别名设置:alias
#alias cls='clear'
------------命令历史history
#history
-n:数字,是要列出最常使用的n条命令行的意思。
-c:是将目前shell中所有的history内容全部消除
-a:将目前新增的history命令新增如histfiles中,若没有加histfiles,则默认写入~/.bash_history
-r:将histfiles的内容读到目前这个shell的history记忆中
-w:将目前的history记忆内容写入history中。
命令历史的使用技巧:
!n:执行命令历史中的第n条命令;
!-n:执行命令历史中的倒数第n条命令;
!!:执行上一条命令;
!string(字符串):执行命令历史中的最近一个以指定字符串开头的命令
!$:引用前一个命令的最后一个参数;
ESC(键盘上的) . :同上
Alt+.
--------------管道命令pipe
pipe表示为“|”
管道:前一个命令输出,作为后一个命令的输入
命令1|命令2|命令3|命令4|
选取命令:cut ,grep
#cut
-d:后面接分割字符,与-f一起使用; -d ‘ ’
-f:依据-d的分割字符将一段信息分割成数段,-f表示选取第几段的意思
-c:以字符character的单位取出固定字符区间
#grep:
Global Research 根据模式,搜索文本,并将符合模式的文本行显示出来。
Pattern:文本字符和正则表达式的元字符组合而成匹配条件
grep
-i :忽略大小写
--color
-v :显示没有被模式匹配到的行
-o :只显示被模式匹配的字符串
排序命令:sort,wc,uniq
文本排序 sort
#sort:默认排序为升序
-n:数值排序 #sort -n 文件 不用-n按照acill码排序
-r:降序排序
-t:字段分隔符,指定
-k:指定以哪个字段为关键字进行排序。
-u:排序后相同内容只显示一个
-f:排序时忽略字符大小写
#uniq 相邻的重复才显示
-c:显示文件中行重复的次数
-d:只显示重复的行
文本统计:
#wc (word count)
-l:行数
-w:单词数
-c -m:字节数
-L最长的一行包含多少个字符
双向重定义tee
字符处理命令:tr 转换或删除字符
#tr 'ab' 'AB'
-d:删除出现在字符集中的所有字符
#grep:
Global Research 根据模式,搜索文本,并将符合模式的文本行显示出来。
Pattern:文本字符和正则表达式的元字符组合而成匹配条件
grep
-i :忽略大小写
--color
-v :显示没有被模式匹配到的行
-o :只显示被模式匹配的字符串
*:任意长度的任意字符
?:任意单个字符
[]:以内
[^]:以外
正则表达式:REGular EXPression ,REGEXP
元字符:
. :任意单个字符
[]:匹配指定范围内的任意单个字符
[^]:匹配指定范围外的任意单个字符
字符集合[:digit:],[:lower:],.......
匹配次数(贪婪模式):
* :匹配其前面的字符任意次
.* :任意长度的任意字符
\?:匹配其前面的字符1次或0次
\{m,n\}:匹配其前面的字符至少m次,至多n次
位置锚定:
^ :锚定行首,此字符后边的任意内容必须出现在行首
$:锚定行尾,此字符前边的任意内容必须出现在行尾
^$:空白行
\<或\b :锚定词首,其后面的任意字符必须作为单词的首部出现
\>或\b :锚定词尾,其前边的任意字符必须作为单词的尾部出现
分组:
\(\)
\(ab\)* ab可以出现0次或任意次
后向引用
\1:引用第一个左括号以及与之对应的右括号所包括的所有内容
\2:
\3: