从今天开始系统的学习Ubuntu了,希望可以坚持写博客。
1.man 命令
1.1导出可读的文件到文档:
man find | col -b > find
1.2安装导入中文文档
打开终端,输入以下命令安装中文 man 手册
sudo apt-get install manpages-zh
查看man 手册安装到哪里
dpkg -L manpages-zh | less
查看到安装在/usr/share/man/zh_CN
设一个中文man别名
修改 ~/.bashrc 添加一个alias :
alias cman='man -M /usr/share/man/zh_CN'
重启一个终端就可以用cman查看中文man手册了,当然查英文手册还是用man。
2.info命令.
使用info查询命令的信息,有些命令比如cpio可能用man查不到。不过对我这种初学者来说用man足够了。
3.命令的基础知识
超级用户(root)的提示符为#,普通用户的为$
3.1多个命令一起
cd /usr/local;ls -l 或是 (cd /etc/network;ls -l)
有时候用法是一样的,有时候是不同的,尤其是和管道一起使用的时候。
看具体列子
date;who | wc -l
(date;who) | wc -l
3.2以后台方式运行命令,在后面加&就可以
3.3输入输出重定向
ls -l > fname
如果文件存在就直接写入文件,覆盖内容,不存在就新建文件。
ls -l >>fname
写到文件的后面,不覆盖前面的文件内容哦~
shell I/O重定向总结
<fname 文件标准输入 描述符为0
>fname 文件标准输出 描述符为1
> | fname 忽略noclobber外,其他和>fname相同
>>fname写到文件的后面,不覆盖前面的文件内容哦~
<>以读写的方式打开指定的文件,并使他作为标准的输入输出
错误输入语句定向,使用2>fname,2>>fname
第三条语句由于没有定向,所以直接打印出来了。
采用如下的形式,可以把标准输出和标准错误输出定义到同一个文件中
IO重定向的顺序是非常重要的,
ls -yz 2 >&1>>command.log
补充:1.利用IO重定向还可以创建一个文件,如果文件存在则清空文件内容
2.利用IO重定向还可以创建一个文件,使之包含当前目录下的目录文件树列表
4.管道
管道是一种先进先出的单向数据通道,利用管道符号“|”,可以把一个命令的标准输出连接到另一个命令的标准输入。
ls /usr | wc -w 等价于 ls /usr>fname ;wc -w <fname;
同时,管道可以使两个进程并发的执行,省略掉中间的临时文件,可以说管道是一种特殊的IO重定向。
5.元字符与文件名生成
*字符用法。可以匹配任何数量的字符或是字符串
例如bc* *.c
匹配首字符
匹配尾字符
?字符用法。
比如di?用于表示前两个为di,第三个为任意字符的文件
[...]的用法
列出当前文件中以大写字母开头的所有文件
[!...][^...]的用法和[...]的用法相反
列出当前目录下以小写字母开头的所有文件
echo *用于显示当前目录下的所非隐藏文件
匹配以.起始字符的隐藏文件名,可以使用echo .*
6.转义
一般情况下,使用\转义单个字符,使用,单引号可以处理多个字符。
使用单引号可以原封不动的传递特殊字符。比如这样
grep ‘[Ff]irst‘ [Bb]*(查找Bb开头的含有First或是first的文件)
还有一种就是使用双引号,防止部分原字符提前解释
\ ‘‘用来转义的时候对 \ $ * ? "" ‘‘ 都不解释。
"" 除了解释! $ ‘ \ { 这几个外其他都按字符文本解释
7.命令历史
7.1 fc 命令
列出最近10条命令
列出10-20号的命令
列出以echo开头的命令
重复执行前面的命令,使用fc -s命令
也可以对目录进行修正。如下
7.2history命令
列出最近10条命令
[email protected]:/etc$ history 10 94 fs -s bin=bin 95 fs -s bin=local 96 fs -s local=local 97 fs -s bin=bin 98 ls -l /usr/local 99 ls -l /usr/bin 100 ls -l /usr 101 ls -l /home 102 history 103 history 10