重定向符号
大于号:将一条命令执行结果(标准输出,或者错误输出,本来都要打印到屏幕上面的)重定向其它输出设备(文件,打开文件操作符,或打印机等等)
实例:
1.ls > b.txt 将ls后的结果写入到b.txt文件中(如存在就覆盖b.txt中的内容)
2.ls >> b.txt 将ls后的结果不覆盖写入b.txt文件的尾部(如无b.txt则新建)
3.mysqldump -u root -p test > 20101216_test.sql 倒出数据
小于号:命令默认从键盘获得的输入,改成从文件,或者其它打开文件以及设备输入
实例:
1.mysql -u root -p -h test < 20101216_test.sql 导入数据
2014-08-18
管道:Linux所提供的管道符“|”将两个命令隔开,将左边命令执行结果通过管道传递给右边的命令再执行
实例:
ls -al|grep java
此命令意思是先执行ls -al列出当前所有文件或目录,再通过管道“|” 转递给grep 查询是否包含java的目录或文件
常用的有:
1 .ps aux|grep java
2. tail -100f log.txt|grep log
2014-08-17
locate:快速查找文件 (find filenames quickly)
locate的速度比find快,它并不是真的查找,而是查数据库,
一般文件数据库在/var/lib/slocate/slocate.db中,
所以locate的查找并不是实时的,而是以数据库的更新为准
常用参数:
1.-e 将排除在寻找的范围之外。
-1如果 是 1.则启动安全模式。在安全模式下,使用者不会看到权限无法看到的档案。
这会始速度减慢,因为 locate 必须至实际的档案系统中取得档案的权限资料。
-f 将特定的档案系统排除在外,例如我们没有到理要把 proc 档案系统中的档案放在资料库中。
-q安静模式,不会显示任何错误讯息。
-n 至多显示 n个输出。
-r 使用正规运算式 做寻找的条件。
-o 指定资料库存的名称。
-d 指定资料库的路径
-h 显示辅助讯息
-V 显示程式的版本讯息
实例:
1.locate pwd 查找和pwd相关的所有文件
2.locate /etc/sh 搜索etc目录下所有以sh开头的文件
3.locate -r /etc/sh$搜索etc目录下所有以sh结尾的文件
2014-08-16
less:对文件或其它输出进行分页显示的工具(opposite of more)
-b <缓冲区大小> 设置缓冲区的大小
-e当文件显示结束后,自动离开
-f强迫打开特殊文件,例如外围设备代号、目录和二进制文件
-g只标志最后搜索的关键词
-i忽略搜索时的大小写
-m显示类似more命令的百分比
-N显示每行的行号
-o <文件名> 将less 输出的内容在指定文件中保存起来
-Q不使用警告音
-s显示连续空行为一行
-S行过长时间将超出部分舍弃
-x <数字> 将“tab”键显示为规定的数字空格
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
b向后翻一页
d向后翻半页
h显示帮助界面
Q退出less 命令
u向前滚动半页
y向前滚动一行
空格键 滚动一行
回车键 滚动一页
[pagedown]: 向下翻动一页
[pageup]: 向上翻动一页
2014-08-15
more :more会以一页一页的显示方便使用者逐页阅读(file perusal filter for crt viewing)
命令参数:
+n 从笫n行开始显示
-n 定义屏幕大小为n行
+/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示
-c 从顶部清屏,然后显示
-d 提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能
-l 忽略Ctrl+l(换页)字符
-p 通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似
-s 把连续的多个空行显示为一行
-u 把文件内容中的下画线去掉
4.常用操作命令:
Enter 向下n行,需要定义。默认为1行
Ctrl+F 向下滚动一屏
空格键向下滚动一屏
Ctrl+B返回上一屏
= 输出当前行的行号
:f 输出文件名和当前行的行号
V 调用vi编辑器
!命令 调用Shell,并执行命令
q 退出more
2014-08-14
which查看可执行文件的位置 (locate a program file in the user's path)
which指令会在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。
实例:
which java
2014-08-13
nl 将输出的文件内容自动的加上行号(number lines of files)
-b a :表示不论是否为空行,也同样列出行号(类似 cat -n);
-b t :如果有空行,空的那一行不要列出行号(默认值);
-n ln :行号在萤幕的最左方显示;
-n rn :行号在自己栏位的最右方显示,且不加 0 ;
-n rz :行号在自己栏位的最右方显示,且加 0 ;
-w:行号栏位的占用的位数。
实例:
1. nl -b a file1 输出内容并列出行号
2. nl -b a -n rz file1列出行号并行号加0
3. nl -b a -n rz -w 3 file1 将列出的行号保持3位数
2014-08-12
tail:命令从指定点开始将文件写到标准输出 (display the last part of a file)
常用参数:
-f 循环读取
-n<行数> 显示行数
-s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒
实例
1.tail -n 10 file1 显示10行末尾的内容
2.tail -100f file1 动态显示末尾的100行内容
3.tail -100f file1|grep java 动态显示末尾的100行包含java的内容
2014-08-11
cat : 连接文件或标准输入并打印(concatenate files and print on the standard output)
常用参数:
-A, --show-all 等价于 -vET
-b, --number-nonblank 对非空输出行编号
-e 等价于 -vE
-E, --show-ends 在每行结束处显示 $
-n, --number 对输出的所有行编号,由1开始对所有输出的行数编号
-s, --squeeze-blank有连续两行以上的空白行,就代换为一行的空白行
-t 与 -vT 等价
-T, --show-tabs 将跳格字符显示为 ^I
-v, --show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外
实例
1. cat file 显示整个文件内容
2. cat file1 file2 >file 合并文件到file
3. tac file 将文件内容倒过来显示
2014-08-10
cp: 复制(copy files)
1. cp file1 file2 将文件file1复制成文件file2
2. cp -i file1 file2 将文件file1复制成文件file2时需问是否复制
3. cp -f file1 file2 将文件file1强制复制成file2
4. cp dir1 dir2 将目录dir1复制成dir2
5. cp file1 file2 file3 dir 将多个文件复制到dir目录中
2014-08-09
mv:移动文件(move files)
1. mv file1 file2 将文件file1改名为file2
2. mv file dir将文件file移动到目录dir中
3. mv -i file1 file2 将文件file1改名为file2,如果file2已经存在,则询问是否覆盖
4. mv -f file1 file2 将文件file1改名为file2,即使file2存在,也是直接覆盖掉
5. mv dir1 dir2 如果目录dir2不存在,将目录dir1改名为dir2;否则,将dir1移动到dir2中
6. mv file1 file2 file3 dir1 将多个文件移动到dir1目录中
2014-08-08
rm :删除 (remove directory entries)
-f, --force 强制删除。忽略不存在的文件,不提示确认
-i 在删除前需要确认
-r, -R, --recursive 递归删除目录及其内容
-v, --verbose 详细显示进行的步骤
(注意慎用rm,怕错删的可以自定义回收站功能)
自定义回收步骤:
1.myrm(){ D=/tmp/$(date +%Y%m%d%H%M%S); mkdir -p $D; mv "$@" $D && echo "moved to $D ok"; }
2.alias rm='myrm'
2014-08-07
mkdir : 创建目录(make directories)
1)mkdir -m 777 test
-m, --mode=模式,设定权限<模式> (类似 chmod)
2)mkdir -vp src/{lib/,java/}
-p, --parents可以创建多级目录
-v, --verbose每次创建新目录都显示信息
2014-08-06
每天一个linux命令
pwd: 输出当前目录 (Print the name of the current working directory)
pwd -P显示出实际路径
pwd -L 目录连接链接时,输出连接路径(pwd 默认是pwd -L)
$PWD 当前目录的变量,可以用echo $PWD 输出,结果与pwd一样
$OLDPWD 上一个目录的变量
2014-08-05
cd [目录名] :切换当前目录至dirName (Change the current directory to DIR)
常用命令组合
1. cd / 进入系统根目录
2. cd .. 返回上一级目录
3. cd ~ 或cd 当前用户主目录
(注意:“当前用户主目录”和“系统根目录”是两个不同的概念)
4. cd -返回进入此目录之前所在的目录
5. cd !$执行linux cd!$把上个命令最后的参数作为输入
2014-08-04
ls : 列出目标目录中所有的子目录和文件( list directory contents)
常用组合参数
1)ls -al
-a, –all 列出目录下的所有文件,包括以 . 开头的隐含文件
-l 将文件的权限、所有者、文件大小等信息详细列出来
2)lsu*
u* 星是正则表达匹配。意思是已u开头的文件或目录
3) ls -F 列出目前工作目录下所有档案及目录;目录于名称后加"/", 可执行档于名称后加"*"