标签:command linux ffffff style color
echo $?
这是一个shell的变量,意思就是返回上一步执行任务是否成功。
如果为0 说是成功。
如果非0说明失败。
command命令 ---SHELL内建命令
command命令调用指定的指令并执行,命令执行时不查询shell函数。command命令只能够执行shell内部的命令。
command: usage: command [-pVv] command [arg ...]调用命令
参数: 指令:需要调用的指令及参数
实例:使用command命令调用执行echo Linux
GUI:
GNOME,KDE,XFCE
CLI:
狭义上的shell
/bin/bash
shell能够提供给用户操作系统的一个接口,能够将我们输入的命令与内核通信,好让内核可以控制硬件来正确无误的工作。shell中有很多中形式,比如bshell,CShell,KShell,TCSH等等,通过/etc/shells 中文件可以查看当前系统中存在的shell形式。当我们进行用户登录时,系统会自动检查/etc/passwd目录下的文件,取得当前系统中当前用户使用的shell形式。
bash的基础特性:
(1)命令历史
-c:清空命令历史
-d OFFSET [n]: 删除指定位置的命令
-w:保存命令历史至历史文件中-a: 当缓冲区中的历史手动追加文件;
(2)命令别名
alias/unalias
(3)命令补全
(4)路径补全
(5)命令行展开
~,{}
cd ~回到用户家目录,这得看你是用什么用户登录了,如果是以root身份登录,执行此命令后,回到/root/目录下,如果是以其他用户等录得话,则是回到/home/目录下
!!是执行和显示上一条命令的结果
cd~USERNAME:切换指定用户的家目录
cd-:回到上一次所在目录
pwd命令:printing working directory 显示工作目录
ls:list 列出指定路径下的文件或目录的属性信息
ls [OPTION]... [FILE]...
-l 使用长格式 显示
drwxr-xr-x. 2 root root 4096 8月 22 21:58 aaa
d:文件类型
rwxr-xr-x:权限,mode
root: owner,属主
root: group,属组
8: size,默认为字节
8月 22 21:58:修改时间戳
-d:显示目录自身属性
-h:human-readable 与-l 一起,以易于阅读的格式输出文件大小
-r:reverse,逆序显示
-R:recusive,递归
-a –all 显示所有文件,包括.开头的隐藏文件
.:当前目录
..:父目录
-A:列出除. 及.. 以外的任何项目
-m:水平输出文件列表
-t:最近修改的文件显示上面
-n:打印文件的UID和GID
-lh:列出可读文件和文件夹的详细信息
-ld:显示文件夹信息
-lt:按时间列出文件和文件夹详细信息
-ltr: 按修改时间列出文件和文件夹的详细信息
-F:按特殊字符对文件进行分类
文件查看类命令:
cat,tac命令:
cat命令连接文件并打印到标准输出设备上,cat经常用来显示文件的内容
-n:有1开始对所有输出的行数编号;
-b :和-n相似,只不过对于空白行不编号
-A:显示不可打印字符,行尾显示“$”
-e: –vE
-E:显示行结束符
-v:显示非打印字符
tac命令用于将文件已行为单位的反序输出,即第一行最后显示,最后一行先显示。
-a:将内容追加到文件末尾
-i:忽略中断信号。
相关示例:
[root@localhost www]# cat test 1234 abcd [root@localhost www]# rev test 4321 dcba [root@localhost www]# tac test abcd 1234文件内容类型查看命令:file命令用来探测给定文件的类型。file命令对文件的检查分为文件系统、魔法幻数检查和语言检查3个过程。
-b:不输出文件名(简要模式)-c:详细显示指令执行过程,便于排错或分析程序执行的情形-f<名称文件>:指定名称文件,其内容有一个或多个文件名称时,让file依序辨识这些文件,格式为每列一个文件名称;
-L:直接显示符号连接所指向的文件类别;
-m<魔法数字文件>:指定魔法数字文件;
-v:显示版本信息;
-z:尝试去解读压缩文件的内容。
[root@localhost ~]# file install.log
install.log: UTF-8 Unicode text
[root@localhost ~]# file -b install.log
UTF-8 Unicode text <== 不显示文件名称
[root@localhost ~]# file -b -i install.log
text/plain; charset=utf-8 <== 显示MIME类别显示符号链接的文件类型:
echo命令:
显示环境变量:
-e:让控制字符生效 \b删除前一个字符
-n:不进行换行
\n:new line 换行
which命令:
which [options] [--] programname [...]
--skip-alias 禁止列出别名
whereis COMMAND:
显示二进制程序、源码文件以及帮助手册的路径;linux文件系统
绝对路径:/
根文件系统:rootfs
文件系统挂载:
FSB:FHS(文件系统层级结构标准)
FHS:
/boot:引导文件存放目录,例如kernel(vmlinuz)、bootloader(grub,grub2)
/bin binary,供用户使用的基本命令:OS启动即会用到程序
/sbin :管理类的基本命令
/lib:基本共享库;内核模块
/lib64:X86_64系统的共享库
/etc:配置文件目录
/home/USERNAME:普通用户主目录的默认位置
/root:管理员的主目录
/media:便捷式的移动设备;
/mnt:临时文件系统挂载点
/opt: 可选目录,第三方应用程序的默认安装位置
/dev: devices,设备
b: block devices
c:character devices,linear access (线性访问)l
/proc: 伪文件系统:用于输出内核与进程的相关信息 是内存中有关系统进程的实时信息
/sys:伪文件系统:是有关系统内核以及驱动的实时信息
/srv:services,系统上运行服务用到中间数据
/tmp:临时文件目录
/usr:Universal Shared,Read-only data
bin/
sbin/
lib/
lib64/
include:C 程序的头文件:header files
share:结构化的独立数据
doc,man
local:现在常用 的第三方程序 的安装位置
bin
sbin
lib
lib 64
etc
share
/var: Variable data files
cache:应用程序 的缓存数据
lib:应用程序的状态信息数据
local:专用于为/usr/local下的应用程序存储可变数据
lock:锁文件
log:日志文件
opt:专用于/opt
spool:应用程序的数据池
run:运行中的进程的相关数据,通常应用于守护进程 的pid文件。
/selinux
Linux下的文件类型:
-(f):普通文件
d:目录文件
b:块设备文件
c: 字符设备文件
l: 符号链接文件
p:命名管道文件
s:套接字文件
命令别名
命令的另一个引用符号,由bash程序维护;alias/unalias
alias: 查看所有已经定义别名;
alias NAME=COMMAND:定义别名;如果别名同原命令名,想直接执行原命令,则需使用\COMMAND
unalias NAME: 撤消别名;
[root@localhost ~]# alias cls="clear"
目录管理类命令:
mkdir,rmdir,tree,
(1) mkdir
mkdir [OPTION] /PATH/TO/SOMEWHERE
-p:创建父目录
-v: 显示创建过程练习:
如何创建目录:x_m, x_n, y_m, y_n?(2) rmdir
rmdir /PATH/TO/SOMEWHERE删除空目录;
(3) tree 以树状图列出目录的内容
tree [OPTION]... [DIR]
-d:只层级目录类型的文件;
-L level: 只显示几个层级;
文本文件查看命令:
cat, tac, more, less, tail, head
cat 命令,文件或标准输入组合输出到标准输出
tac命令用于将文件已行为单位的反序输出,即第一行最后显示,最后一行先显示。
-a或——append:将内容追加到文件的末尾; -i或——ignore-interrupts:忽略中断信号。
more,less
翻屏查看
more命令是一个基于vi编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容,支持vi中的关键字定位操作。more名单中内置了若干快捷键,常用的有H(获得帮助信息),Enter(向下翻滚一行),空格(向下滚动一屏),Q(退出命令)。 该命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现一个提示信息,给出至今己显示的该文件的百分比:--More--(XX%)可以用下列不同的方法对提示做出回答: 按Space键:显示文本的下一屏内容。 按Enier键:只显示文本的下一行内容。 按斜线符|:接着输入一个模式,可以在文本中寻找下一个相匹配的模式。 按H键:显示帮助屏,该屏上有相关的帮助信息。 按B键:显示上一屏内容。 按Q键:退出rnore命令。
less命令文件内容查看 less命令的作用与more十分相似,都可以用来浏览文字档案的内容,不同的是less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。用less命令显示文件时,用PageUp键向上翻页,用PageDown键向下翻页。要退出less程序,应按Q键。语法 less(选项)(参数) 选项 -e:文件内容显示完毕后,自动退出; -f:强制显示文件; -g:不加亮显示搜索到的所有关键词,仅显示当前显示的关键字,以提高显示速度; -l:搜索时忽略大小写的差异; -N:每一行行首显示行号; -s:将连续多个空行压缩成一行显示; -S:在单行显示较长的内容,而不换行显示; -x<数字>:将TAB字符显示为指定个数的空格字符。
head和tail
head命令用于显示文件的开头的内容。在默认情况下,head命令显示文件的头10行内容。
-n<数字>:指定显示头部内容的行数; -c<字符数>:指定显示头部内容的字符数; -v:总是显示文件名的头信息; -q:不显示文件名的头信息。
tail命令用于输入文件中的尾部内容。tail命令默认在屏幕上显示指定文件的末尾10行。如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。如果没有指定文件或者文件名为“-”,则读取标准输入。 注意:如果表示字节或行数的N值之前有一个”+”号,则从文件开头的第N项开始显示,而不是显示文件的最后N项。N值后面可以有后缀:b表示512,k表示1024,m表示1 048576(1M)。
时间戳管理工具:touch
touch命令有两个功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用来创建新的空文件。
用法:touch [选项]... 文件...
-a 只更改访问时间
-c, --no-create 不创建任何文件
-d, --date=字符串 使用指定字符串表示时间而非当前时间
-f (忽略)
-h, --no-dereference 会影响符号链接本身,而非符号链接所指示的目的地
(当系统支持更改符号链接的所有者时,此选项才有用)
-m 只更改修改时间
-r, --reference=文件 使用指定文件的时间属性而非当前时间
-t STAMP 使用[[CC]YY]MMDDhhmm[.ss] 格式的时间而非当前时间
--time=WORD 使用WORD 指定的时间:access、atime、use 都等于-a
选项的效果,而modify、mtime 等于-m 选项的效果
--help 显示此帮助信息并退出
--version 显示版本信息并退出请注意,-d 和-t 选项可接受不同的时间/日期格式。
实例
touch ex2 在当前目录下建立一个空文件ex2,然后,利用ls -l命令可以发现文件ex2的大小为0,表示它是空文件。
文件管理命令:
cp ,mv,rm
复制命令:cp, copy
cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...cp SRC DEST:
SRC是文件:
如果DEST不存在:新建目标文件,并将SRC复制到目标文件;
如果DEST存在:
如果DEST是文件:用SRC的内容覆盖至DEST文件中;
如果DEST是目录:在DEST目录中新一个与原文件同名的文件,将将SRC内容复制到新建的同名的目标文件中;cp SRC... DEST:
如果DEST不存在:
是错误的;
如果DEST存在:
如果DEST是文件:错误;
如果DEST是目录:常用选项:
-r, -R: 递归复制;
-d: 不跟踪符号链接;
--preserve[=ATTR_LIST]:
mode, ownership, timestamps
context, links, xattr, all
-a: -dR --preseve=all
-i: interactive
-f: force
-v: 显示过程mv: move, 移动文件
mv [OPTION]... [-T] SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY
mv [OPTION]... -t DIRECTORY SOURCE...常用选项:
-i:交互式
-f:强制rm: remove
rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。 注意:使用rm命令要格外小心。因为一旦删除了一个文件,就无法再恢复它。所以,在删除文件之前,最好再看一下文件的内容,确定是否真要删除。rm命令可以用-i选项,这个选项在使用文件扩展名字符删除多个文件时特别有用。使用这个选项,系统会要求你逐一确定是否要删除。这时,必须输入y并按Enter键,才能删除文件。如果仅按Enter键或其他字符,文件不会被删除。
rm [OPTION]... FILE...
只删除文件;
常用选项:-d:直接把欲删除的目录的硬连接数据删除成0,删除该目录;
-f:强制删除文件或目录;
-i:删除已有文件或目录之前先询问用户;
-r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;
--preserve-root:不对根目录进行递归操作;
-v:显示指令的详细执行过程。
删除当前目录下除隐含文件外的所有文件和子目录
# rm -r *
应注意,这样做是非常危险的!
文本编辑器:
nanobash的基础特性(02)
(1) glob
文本名“通配”
*:匹配任意长度的任意字符;
?:匹配任意单个字符;
a*b: aab, ab, a123b;
a?b:
[]: 匹配指定范围内的任意单个字符;
[0-9]
[^]:匹配范围外的任意单个字符;
[^a-b]
练习:
显示/etc/目录下,以非字母开头,后面跟了一个字母及其它任意长度任意字符的文件或目录;解:
[root@localhost ~]# mkdir /tmp/c
[root@localhost ~]# cp -vr /etc/[^a-zA-Z]* /tmp/c
"/etc/123aaa" -> "/tmp/c/123aaa"
"/etc/[^a-z]aaa111222" -> "/tmp/c/[^a-z]aaa111222"[root@localhost ~]# cd /tmp/c
[root@localhost c]# ls
123aaa [^a-z]aaa111222复制/etc目录下,所有以.d结尾的文件或目录至/tmp/mageedu.com目录中;
解:
[root@localhost ~]
# mkdir /tmp/mageedu.com
[root@localhost ~]
# cp -r /etc/*.d/tmp/mageedu.com/
[root@localhost ~]
# ls /tmp/mageedu.com/
[root@localhost ~]
# rm -rf/tmp/mageedu.com/
(2) 组合键
Ctrl+l:清屏
Ctrl+a: 切换至命令行首
Ctrl+e:切换至命令行尾
Ctrl+c:取消命令执行
Ctrl+u:删除光标所在处至行首的内容;
Ctrl+k: 删除光标所在处至行尾的内容;
(3) IO重定向和管道
程序:指令+数据
读入数据:Input
输出数据:Output
打开的文件都一个fd:file descriptor
标准输入:keyboard, 0, /dev/stdin
标准输出:monitor, 1, /dev/stdout
标准错误输出:monitor, 2, /dev/stderr
I/O重定向:
输入重定向
输出重定向:
COMMAND > NEW_POS, COMMAND >> NEW_POS
>:覆盖重定向;
>>:追加重定向;
set -C
如果覆盖重定向目标文件存在,则禁止执行;
>|
set +C
错误重定向:
2>:覆盖
2>>:追加
同时重定向标准输出流和错误输出流:
COMMAND > /path/to/file.out 2> /path/to/file.err
COMMAND > /path/to/file.out 2>&1
COMMAND &> /path/to/file.out
输入重定向:
<
tr命令:
tr [OPTION]... SET1 [SET2]
-d: 删除字符
Here Document:<<
cat >> /path/to/somefile << EOF
管道:
COMMAND1 | COMMAND2 | ...
tee 命令
tee命令用于将数据重定向到文件,另一方面还可以提供一份重定向数据的副本作为后续命令的stdin。简单的说就是把数据重定向到给定文件和屏幕上。
-a 附加到文件-i 无视中断--help 显示帮助信息--version 显示版本信息
[root@localhost ~]# tee 12 -a /tmp/12 <<EOF
> 1233233333
> EOF
[root@localhost c]# cat /tmp/12
1233233333
文件处理工具:
wc, cut, sort, uniq
wc命令的功能为统计指定文件中的字节数、单词数、行数, 并将统计结果显示输出
wc:word counts
wc [OPTION]... FILE...
-l: 显示行数
-w: 显示单词数
[root@localhost~]
#cat/etc/passwd |ws –l 查看passwd文件有多少行
[root@localhost~]
#echo“qqq www eee” |wc –w 查看输出有多少个单词
[root@localhost~]
#echo“21312123” | wc –m 查看输出有多少个字符
cut:
cut OPTION... [FILE]...
-d: 指明分隔符;-d‘ ‘, -d:
-f:指明要显示的字段
#:
#-#:1-3
#,#: 1,3,7
sort命令:排序
sort [OPTION]... [FILE]...
-r: 逆序
-f: 忽略字符大小写
-u: 排序后去重
-t CHAR: 指明分隔符
-k #: 字段
-n: 表示以数值大小排序
最简单排序:
uniq命令:
uniq命令用于报告或忽略文件中的重复行,一般与sort命令结合使用。
uniq [OPTION]... [FILE]...
-c: 显示每行重复的次数;
-d: 只显示重复过的行;
-u: 只显示不曾重复的行;
删除重复行: uniq file.txt sort file.txt | uniq sort -u file.txt
只显示单一行: uniq -u file.txt sort file.txt | uniq –u
统计各行在文件中出现的次数: sort file.txt | uniq –c
在文件中找出重复的行: sort file.txt | uniq -d
标签:command linux ffffff style color
原文地址:http://cisco520.blog.51cto.com/226739/1689672