dpkg
安装文件
alias
别名
http://zhidao.baidu.com/link?url=dmNPtLrj7_JgYkeHIv5L2FCcLSRjVnGLUieWx5sGlpKr54Zoe3J9d4i7EAkVe3yPOarOqKojiL2DXWacd2OXGBRzQe5FBwJaUNH0dKorRJ_
locate whereis find type
参数 -ls 就是 显示详细信息,用户名,权限,路径,更改日期
locate:
使用前 先sudo updatedb
再locate
如 locate hostst
type:
看这个 命令是buildin 还是 下载的
如type cd
find:
整个目录下
find -name hostst*
在当前目录下 find hoststo* -ls
1、
ls:
ls 最基本的
ls -a
ls -all
ls -l 大小,权限,所有者
ls -t time
ls -1 一行一个
ls -R 显示子目录
ls -R -1 == ls -1R
ls 3* 列出3开头的,*为通配符
ls -r 相反顺序
ls -1rt
ls -l * |grep "^-"|wc -l ---文件个数
ls -l * |grep "^d"|wc -l ---目录个数
ls | sed "s:^:`pwd`/:" 在ls中列出文件的绝对路径,或者直接pwd即可
2、
cd
cd / 进入系统根目录
pwd 查看当前目录
cd .. 退后一层
cd 进入用户主目录
cd ~ 进入用户主目录
cd /opt/soft 跳转到制定目录,从根目录开始加/
cd - 进入上一个进入 的目录
cd !$ 把上个命令的参数作为cd参数使用。
3、
pwd
pwd 查看”当前工作目录“的完整路径
pwd -P 显示出实际路径,而非使用连接(link)路径;
pwd -L
当前目录被删除了,而pwd命令仍然显示那个目录
4、
mkdir
1用来创建指定的名称的目录
2创建目录的用户在当前目录中具有写权限
3目录名不能重复
mkdir test1 当当前目录创建test1这个目录
ll = ls -all
mkdir -p test2/tst 如果test2不存在,创建test2再创建tst,常用于创建一次多个目录
mkdir -m 设定权限
如mkdir -m 777 tst2
mkdir -v tst
显示创建信息,如显示 created directory '....'
mkdir -vp scf/{lib/,bin/,doc/{info,product},logs/{info,product},service/deploy/{info,product}}
一个命令创建项目的目录结构
显示
mkdir: 已创建目录 “scf”
mkdir: 已创建目录 “scf/lib”
mkdir: 已创建目录 “scf/bin”
mkdir: 已创建目录 “scf/doc”
mkdir: 已创建目录 “scf/doc/info”
mkdir: 已创建目录 “scf/doc/product”
5、
rm
删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。
-f, --force 忽略不存在的文件,从不给出提示。
-i, --interactive 进行交互式删除
-r, -R,
--recursive 指示rm将参数中列出的全部目录和子目录均递归地删除。
-v
--verbose 详细显示进行的步骤
--help 显示此帮助信息并退出
--version 输出版本信息并退出
rm file1 直接删除
rm -f file1 直接删除
rm -i *.log 删除前 逐一确认
rm -r test1 这个目录下的都删除,可能交互
rm -rf test1 直接删除 ,不交互
rm -- -f 删除以-f 开头的文件
6、
rmdir
1删除空目录
2必须是空目录
3必须具有对父目录的写权限。
- p
递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。如果整个路径被删除或者由于某种原因保留部分路径,则系统在标准输出上显示相应的信息。
rmdir -p tst/prot 如果tst中prot为空,且tst 中只有prot,则都删除了
7、
mv
视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。
-b :若需覆盖文件,则覆盖前先行备份。
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会更新(update)
-t :
--target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。
实例:
mv -参数 源文件 目标文件
mv 1.py 2.py 把1.py改名字为 2.py
mv 1.py tst 把1.py 移到tst中
mv 1.py 2.py 22.py tst 把三个文件都移动过去
也可用mv -t /opt/soft/test/test4/ log1.txt log2.txt log3.txt
mv -i 1.py 22.c 如果22.c已经存在,会问是否覆盖,如果没有-i,则覆盖了
cat 22.c 可以查看文件里面内容
mv -f 2.c 1.py 如果有 直接覆盖。如果没有,改名字。
mv tst1 tst2 如果目录tst2不存在,改名字,如果存在 移动到tst2中去
mv *../ 把当前文件夹下所有文件 移到上一级目录
mv test3/*.txt test5 子目录文件移动
mv log1.txt -b log2.txt 移动前 先备份
8、
cp
将源文件复制至目标文件,或将多个源文件复制至目标目录。
-a, --archive 等于-dR --preserve=all
--backup[=CONTROL 为每个已存在的目标文件创建备份
-b 类似--backup 但不接受参数
--copy-contents 在递归处理是复制特殊文件内容
-d 等于--no-dereference --preserve=links
-f, --force 如果目标文件无法打开则将其移除并重试(当 -n 选项
存在时则不需再选此项)
-i, --interactive 覆盖前询问(使前面的 -n 选项失效)
-H 跟随源文件中的命令行符号链接
-l, --link 链接文件而不复制
-L, --dereference 总是跟随符号链接
-n, --no-clobber 不要覆盖已存在的文件(使前面的 -i 选项失效)
-P, --no-dereference 不跟随源文件中的符号链接
-p 等于--preserve=模式,所有权,时间戳
--preserve[=属性列表 保持指定的属性(默认:模式,所有权,时间戳),如果
可能保持附加属性:环境、链接、xattr 等
-R, -r, --recursive 复制目录及目录内的所有项目
实例:
cp 1.py test21
复制单个文件到目标目录,文件在目标文件中不存在
cp -a test1 tst2 复制整个目录 如果tst2不存在,则创建tst2,如果存在,则复制整个目录到tst2中
cp -s log.log log_link.log 复制的 log.log 建立一个链接 log_link.log
链接的颜色 为浅蓝色
9、
touch
用来修改文件时间戳,或者新建一个不存在的文件。
-a 或--time=atime或--time=access或--time=use 只更改存取时间。
-c 或--no-create 不建立任何文档。
-d 使用指定的日期时间,而非现在的时间。
-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
-m 或--time=mtime或--time=modify 只更改变动时间。
-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
-t 使用指定的日期时间,而非现在的时间。
实例:
touch 1.py 2.py 创建不存在的文件,如果文件存在则没反应
touch -r log.log log2012.log 把log2012.log 时间改成log.log的时间
touch -t 201211200720 1.py 修改时间
10、
cat
功能
1.一次显示整个文件:cat filename
2.从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.
3.将几个文件合并为一个文件:cat file1 file2 > file
-A, --show-all 等价于 -vET
-b, --number-nonblank 对非空输出行编号
-e 等价于 -vE
-E, --show-ends 在每行结束处显示 $
-n, --number 对输出的所有行编号,由1开始对所有输出的行数编号
-s, --squeeze-blank 有连续两行以上的空白行,就代换为一行的空白行
-t 与 -vT 等价
-T, --show-tabs 将跳格字符显示为 ^I
-u (被忽略)
-v, --show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外
实例:
cat -n 22.c 221.c 将文件内容加上行号后显示
cat -n 22.c
cat -b log2012.log log2013.log log.log
把 log2012.log 和 log2013.log 的文件内容加上行号(空白行不加)之后将内容附加到 log.log 里。
cat -n log2012.log > log.log
把 log2012.log 的文件内容加上行号后输入 log.log 这个文件里
cat >log.txt<<EOF
将终端信息存入 log.txt 并以EOF结束
tac log.txt 反向显示 ,cat 反过来 为tac
11、
nl
计算计算机中文件的行数
nl -b
nl -b a file 都列出行号
nl -b t file 空行不列出
nl -n
nl -n rz file 行号加0,(默认6位)
nl -w 行号占用的位数
如
nl -b a 1.py
nl -n rz 1.py
nl -b a -n rz -w 3 1.py
12、
more
显示文件内容
按页 显示 ,与 cat不同
按空格是 显示下一页,按换行是 显示下一行,按 b键往回一页
参数有:
+n 从笫n行开始显示
-n 定义屏幕大小为n行
+/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示
-c 从顶部清屏,然后显示
-d 提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能
-l 忽略Ctrl+l(换页)字符
-p 通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似
-s 把连续的多个空行显示为一行
-u 把文件内容中的下画线去掉
操作命令有
Enter 向下n行,需要定义。默认为1行
Ctrl+F 向下滚动一屏
空格键 向下滚动一屏
Ctrl+B 返回上一屏
= 输出当前行的行号
:f 输出文件名和当前行的行号
V 调用vi编辑器
!命令 调用Shell,并执行命令
q 退出more
如
more 1.py 直接显示
more +3 .py 从第三行开始显示
more +/day3 1.py 第一个出现day3 的地方开始显示,并从该行前两行开始显示
more -5 1.py 一次显示 5行
ls -l|more -5
13、
less
搜索功能,pagedown up功能
参数
-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]: 向上翻动一页
实例
less 1.py
ps -ef|less
history|less
less 1.py 2.py 浏览多个文件
输出n 切换到第二个,输入p 切换到第一个
ctrl + F - 向前移动一屏
ctrl + B - 向后移动一屏
ctrl + D - 向前移动半屏
ctrl + U - 向后移动半屏
G - 移动到最后一行
g - 移动到第一行
q / ZZ - 退出 less 命令
j - 向前移动一行
k - 向后移动一行
14、
head
显示文件开头
参数
-q 隐藏文件名
-v 显示文件名
-c<字节> 显示文件前n个字节
-n<行数> 显示的行数
head -n 5 1.py
head -c 30 1.py 显示文件前30个字节
head -n -6 2.py 除了最后n行外的内容
head -c -30 1.py 显示除了最后30个字节的内容
15、
tail
查看日志文件,会随着日志刷新而变化(-f)
显示末尾内容
tail -n 5 1.py 显示最后5行
tail -f test.log 循环查看文件内容
tail -n +5 1.py 从第五行开始查看文件
16、
which 查看可执行文件的位置。
whereis 查看文件的位置。
locate 配合数据库查看文件位置。
find 实际搜寻硬盘查询文件名称。
which 是根据使用者所配置的 PATH 变量内的目录去搜寻可运行档的!所以,不同的 PATH 配置内容所找到的命令当然不一样的!
cd 这个常用的命令竟然找不到啊!为什么呢?这是因为 cd 是bash 内建的命令! 但是 which 默认是找 PATH 内所规范的目录,所以当然一定找不到的
如
which lsmod
17、
whereis
whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。
和find相比,whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis和下面即将介绍的locate时,会从数据库中查找数据,而不是像find命令那样,通 过遍历硬盘来查找,效率自然会很高。
但是该数据库文件并不是实时更新,默认情况下时一星期更新一次,因此,我们在用whereis和locate 查找文件时,有时会找到已经被删除的数据,或者刚刚建立文件,却无法查找到,原因就是因为数据库文件没有被更新。
语法
whereis [-bmsu] [BMS 目录名 -f ] 文件名
18、
locate
locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了。在一般的 distribution 之中,数据库的建立都被放在 crontab 中自动执行。
locate命令可以在搜寻数据库时快速找到档案,数据库由updatedb程序来更新,updatedb是由cron daemon周期性建立的,locate命令在搜寻数据库时比由整个由硬盘资料来搜寻资料来得快,但较差劲的是locate所找到的档案若是最近才建立或 刚更名的,可能会找不到,在内定值中,updatedb每天会跑一次,可以由修改crontab来更新设定值。(etc/crontab)
不加参数
查找和pwd相关的所有文件
locate pwd
搜索etc目录下所有以sh开头的文件
locate /etc/sh
搜索etc目录下,所有以m开头的文件
locate /etc/m
19、
find
功能太强大,跳过
23
linux的目录结构
http://www.cnblogs.com/peida/archive/2012/11/21/2780075.html
24
文件结构
安装文件
alias
别名
http://zhidao.baidu.com/link?url=dmNPtLrj7_JgYkeHIv5L2FCcLSRjVnGLUieWx5sGlpKr54Zoe3J9d4i7EAkVe3yPOarOqKojiL2DXWacd2OXGBRzQe5FBwJaUNH0dKorRJ_
locate whereis find type
参数 -ls 就是 显示详细信息,用户名,权限,路径,更改日期
locate:
使用前 先sudo updatedb
再locate
如 locate hostst
type:
看这个 命令是buildin 还是 下载的
如type cd
find:
整个目录下
find -name hostst*
在当前目录下 find hoststo* -ls
1、
ls:
ls 最基本的
ls -a
ls -all
ls -l 大小,权限,所有者
ls -t time
ls -1 一行一个
ls -R 显示子目录
ls -R -1 == ls -1R
ls 3* 列出3开头的,*为通配符
ls -r 相反顺序
ls -1rt
ls -l * |grep "^-"|wc -l ---文件个数
ls -l * |grep "^d"|wc -l ---目录个数
ls | sed "s:^:`pwd`/:" 在ls中列出文件的绝对路径,或者直接pwd即可
2、
cd
cd / 进入系统根目录
pwd 查看当前目录
cd .. 退后一层
cd 进入用户主目录
cd ~ 进入用户主目录
cd /opt/soft 跳转到制定目录,从根目录开始加/
cd - 进入上一个进入 的目录
cd !$ 把上个命令的参数作为cd参数使用。
3、
pwd
pwd 查看”当前工作目录“的完整路径
pwd -P 显示出实际路径,而非使用连接(link)路径;
pwd -L
当前目录被删除了,而pwd命令仍然显示那个目录
4、
mkdir
1用来创建指定的名称的目录
2创建目录的用户在当前目录中具有写权限
3目录名不能重复
mkdir test1 当当前目录创建test1这个目录
ll = ls -all
mkdir -p test2/tst 如果test2不存在,创建test2再创建tst,常用于创建一次多个目录
mkdir -m 设定权限
如mkdir -m 777 tst2
mkdir -v tst
显示创建信息,如显示 created directory '....'
mkdir -vp scf/{lib/,bin/,doc/{info,product},logs/{info,product},service/deploy/{info,product}}
一个命令创建项目的目录结构
显示
mkdir: 已创建目录 “scf”
mkdir: 已创建目录 “scf/lib”
mkdir: 已创建目录 “scf/bin”
mkdir: 已创建目录 “scf/doc”
mkdir: 已创建目录 “scf/doc/info”
mkdir: 已创建目录 “scf/doc/product”
5、
rm
删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。
-f, --force 忽略不存在的文件,从不给出提示。
-i, --interactive 进行交互式删除
-r, -R,
--recursive 指示rm将参数中列出的全部目录和子目录均递归地删除。
-v
--verbose 详细显示进行的步骤
--help 显示此帮助信息并退出
--version 输出版本信息并退出
rm file1 直接删除
rm -f file1 直接删除
rm -i *.log 删除前 逐一确认
rm -r test1 这个目录下的都删除,可能交互
rm -rf test1 直接删除 ,不交互
rm -- -f 删除以-f 开头的文件
6、
rmdir
1删除空目录
2必须是空目录
3必须具有对父目录的写权限。
- p
递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。如果整个路径被删除或者由于某种原因保留部分路径,则系统在标准输出上显示相应的信息。
-v, --verbose 显示指令执行过程
实例:
rmdir tstrmdir -p tst/prot 如果tst中prot为空,且tst 中只有prot,则都删除了
7、
mv
视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。
-b :若需覆盖文件,则覆盖前先行备份。
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会更新(update)
-t :
--target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。
实例:
mv -参数 源文件 目标文件
mv 1.py 2.py 把1.py改名字为 2.py
mv 1.py tst 把1.py 移到tst中
mv 1.py 2.py 22.py tst 把三个文件都移动过去
也可用mv -t /opt/soft/test/test4/ log1.txt log2.txt log3.txt
mv -i 1.py 22.c 如果22.c已经存在,会问是否覆盖,如果没有-i,则覆盖了
cat 22.c 可以查看文件里面内容
mv -f 2.c 1.py 如果有 直接覆盖。如果没有,改名字。
mv tst1 tst2 如果目录tst2不存在,改名字,如果存在 移动到tst2中去
mv *../ 把当前文件夹下所有文件 移到上一级目录
mv test3/*.txt test5 子目录文件移动
mv log1.txt -b log2.txt 移动前 先备份
8、
cp
将源文件复制至目标文件,或将多个源文件复制至目标目录。
-a, --archive 等于-dR --preserve=all
--backup[=CONTROL 为每个已存在的目标文件创建备份
-b 类似--backup 但不接受参数
--copy-contents 在递归处理是复制特殊文件内容
-d 等于--no-dereference --preserve=links
-f, --force 如果目标文件无法打开则将其移除并重试(当 -n 选项
存在时则不需再选此项)
-i, --interactive 覆盖前询问(使前面的 -n 选项失效)
-H 跟随源文件中的命令行符号链接
-l, --link 链接文件而不复制
-L, --dereference 总是跟随符号链接
-n, --no-clobber 不要覆盖已存在的文件(使前面的 -i 选项失效)
-P, --no-dereference 不跟随源文件中的符号链接
-p 等于--preserve=模式,所有权,时间戳
--preserve[=属性列表 保持指定的属性(默认:模式,所有权,时间戳),如果
可能保持附加属性:环境、链接、xattr 等
-R, -r, --recursive 复制目录及目录内的所有项目
实例:
cp 1.py test21
复制单个文件到目标目录,文件在目标文件中不存在
cp -a test1 tst2 复制整个目录 如果tst2不存在,则创建tst2,如果存在,则复制整个目录到tst2中
cp -s log.log log_link.log 复制的 log.log 建立一个链接 log_link.log
链接的颜色 为浅蓝色
9、
touch
用来修改文件时间戳,或者新建一个不存在的文件。
-a 或--time=atime或--time=access或--time=use 只更改存取时间。
-c 或--no-create 不建立任何文档。
-d 使用指定的日期时间,而非现在的时间。
-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
-m 或--time=mtime或--time=modify 只更改变动时间。
-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
-t 使用指定的日期时间,而非现在的时间。
实例:
touch 1.py 2.py 创建不存在的文件,如果文件存在则没反应
touch -r log.log log2012.log 把log2012.log 时间改成log.log的时间
touch -t 201211200720 1.py 修改时间
10、
cat
功能
1.一次显示整个文件:cat filename
2.从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.
3.将几个文件合并为一个文件:cat file1 file2 > file
-A, --show-all 等价于 -vET
-b, --number-nonblank 对非空输出行编号
-e 等价于 -vE
-E, --show-ends 在每行结束处显示 $
-n, --number 对输出的所有行编号,由1开始对所有输出的行数编号
-s, --squeeze-blank 有连续两行以上的空白行,就代换为一行的空白行
-t 与 -vT 等价
-T, --show-tabs 将跳格字符显示为 ^I
-u (被忽略)
-v, --show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外
实例:
cat -n 22.c 221.c 将文件内容加上行号后显示
cat -n 22.c
cat -b log2012.log log2013.log log.log
把 log2012.log 和 log2013.log 的文件内容加上行号(空白行不加)之后将内容附加到 log.log 里。
cat -n log2012.log > log.log
把 log2012.log 的文件内容加上行号后输入 log.log 这个文件里
cat >log.txt<<EOF
将终端信息存入 log.txt 并以EOF结束
tac log.txt 反向显示 ,cat 反过来 为tac
11、
nl
计算计算机中文件的行数
nl -b
nl -b a file 都列出行号
nl -b t file 空行不列出
nl -n
nl -n rz file 行号加0,(默认6位)
nl -w 行号占用的位数
如
nl -b a 1.py
nl -n rz 1.py
nl -b a -n rz -w 3 1.py
12、
more
显示文件内容
按页 显示 ,与 cat不同
按空格是 显示下一页,按换行是 显示下一行,按 b键往回一页
参数有:
+n 从笫n行开始显示
-n 定义屏幕大小为n行
+/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示
-c 从顶部清屏,然后显示
-d 提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能
-l 忽略Ctrl+l(换页)字符
-p 通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似
-s 把连续的多个空行显示为一行
-u 把文件内容中的下画线去掉
操作命令有
Enter 向下n行,需要定义。默认为1行
Ctrl+F 向下滚动一屏
空格键 向下滚动一屏
Ctrl+B 返回上一屏
= 输出当前行的行号
:f 输出文件名和当前行的行号
V 调用vi编辑器
!命令 调用Shell,并执行命令
q 退出more
如
more 1.py 直接显示
more +3 .py 从第三行开始显示
more +/day3 1.py 第一个出现day3 的地方开始显示,并从该行前两行开始显示
more -5 1.py 一次显示 5行
ls -l|more -5
13、
less
搜索功能,pagedown up功能
参数
-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]: 向上翻动一页
实例
less 1.py
ps -ef|less
history|less
less 1.py 2.py 浏览多个文件
输出n 切换到第二个,输入p 切换到第一个
ctrl + F - 向前移动一屏
ctrl + B - 向后移动一屏
ctrl + D - 向前移动半屏
ctrl + U - 向后移动半屏
G - 移动到最后一行
g - 移动到第一行
q / ZZ - 退出 less 命令
j - 向前移动一行
k - 向后移动一行
14、
head
显示文件开头
参数
-q 隐藏文件名
-v 显示文件名
-c<字节> 显示文件前n个字节
-n<行数> 显示的行数
head -n 5 1.py
head -c 30 1.py 显示文件前30个字节
head -n -6 2.py 除了最后n行外的内容
head -c -30 1.py 显示除了最后30个字节的内容
15、
tail
查看日志文件,会随着日志刷新而变化(-f)
显示末尾内容
tail -n 5 1.py 显示最后5行
tail -f test.log 循环查看文件内容
tail -n +5 1.py 从第五行开始查看文件
16、
which 查看可执行文件的位置。
whereis 查看文件的位置。
locate 配合数据库查看文件位置。
find 实际搜寻硬盘查询文件名称。
which 是根据使用者所配置的 PATH 变量内的目录去搜寻可运行档的!所以,不同的 PATH 配置内容所找到的命令当然不一样的!
cd 这个常用的命令竟然找不到啊!为什么呢?这是因为 cd 是bash 内建的命令! 但是 which 默认是找 PATH 内所规范的目录,所以当然一定找不到的
如
which lsmod
17、
whereis
whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。
和find相比,whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis和下面即将介绍的locate时,会从数据库中查找数据,而不是像find命令那样,通 过遍历硬盘来查找,效率自然会很高。
但是该数据库文件并不是实时更新,默认情况下时一星期更新一次,因此,我们在用whereis和locate 查找文件时,有时会找到已经被删除的数据,或者刚刚建立文件,却无法查找到,原因就是因为数据库文件没有被更新。
语法
whereis [-bmsu] [BMS 目录名 -f ] 文件名
18、
locate
locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了。在一般的 distribution 之中,数据库的建立都被放在 crontab 中自动执行。
locate命令可以在搜寻数据库时快速找到档案,数据库由updatedb程序来更新,updatedb是由cron daemon周期性建立的,locate命令在搜寻数据库时比由整个由硬盘资料来搜寻资料来得快,但较差劲的是locate所找到的档案若是最近才建立或 刚更名的,可能会找不到,在内定值中,updatedb每天会跑一次,可以由修改crontab来更新设定值。(etc/crontab)
不加参数
查找和pwd相关的所有文件
locate pwd
搜索etc目录下所有以sh开头的文件
locate /etc/sh
搜索etc目录下,所有以m开头的文件
locate /etc/m
19、
find
功能太强大,跳过
23
linux的目录结构
http://www.cnblogs.com/peida/archive/2012/11/21/2780075.html
24
文件结构