常用的 linux 命令
- 1.从其他机器拷贝文件夹
- 2.查看哪个程序在用特定端口
- 3.实时监控日志文件内容
- 4.查看指定用户拥有的进程
- 5.查看磁盘空间使用情况
- 6.文件搜索
-
- [which(whereis) 显示系统命令所在目录](#which(whereis) 显示系统命令所在目录)
- [find 查找任何文件或目录](#find 查找任何文件或目录)
-
- [1) 根据文件名称查找](#1) 根据文件名称查找)
- 2) 根据文件大小查找 根据文件大小查找)
- 3 )根据文件所有者来查找根据文件所有者来查找)
- 4) 根据文件修改时间来查找 根据文件修改时间来查找)
- [5) 连接符 --a(AND) -o(OR) -exec](#5) 连接符 –a(AND) -o(OR) -exec)
- [6) 根据文件类型查找](#6) 根据文件类型查找)
- [locate (linux 特有的命令,UNIX 没有这个命令)](#locate (linux 特有的命令,UNIX 没有这个命令))
- [grep 在文件中查找需要的行](#grep 在文件中查找需要的行)
- 7.查看内存使用情况
- 8.查看本机系统内核
- 9.查看当前路径下的文件/文件夹大小
- 10.变更为其它使用者的身份
- 11.远程登陆
- 12.不挂断地运行命令
- 13.查看文件的行数
- 14.比较两个文件的不同之处
- 15.杀死进程
- [16.在 SecureCRT 中把文件传给本机的 SecureCRT 安装目录的 download 目录下](#16.在 SecureCRT 中把文件传给本机的 SecureCRT 安装目录的 download 目录下)
- [17.把本机文件传给 SecureCRT 中当前机器的当前目录](#17.把本机文件传给 SecureCRT 中当前机器的当前目录)
- [18.Vi 文本编辑器](#18.Vi 文本编辑器)
-
- [1) 插入命令](#1) 插入命令)
- [2) 定位](#2) 定位)
- [3) 删除](#3) 删除)
- [4) 复制剪切](#4) 复制剪切)
- [5) 替换和取消](#5) 替换和取消)
- [6) 搜索和替换](#6) 搜索和替换)
- [7) 保存退出](#7) 保存退出)
- [8) vi 其他用法](#8) vi 其他用法)
- 19.察看文件类型
- 20.压缩命令
-
- [1) gzip 将文件压缩为.gz(只能压缩文件,不能压缩目录;不能保留源文件)](#1) gzip 将文件压缩为.gz(只能压缩文件,不能压缩目录;不能保留源文件))
- [2) tar 打包文件,将一个目录打包为一个 tar 包,可以与 gzip 结合压缩目录。](#2) tar 打包文件,将一个目录打包为一个 tar 包,可以与 gzip 结合压缩目录。)
- [3) zip 将文件打包为 zip 文件,windows 和 linux 默认统一支持的压缩格式。](#3) zip 将文件打包为 zip 文件,windows 和 linux 默认统一支持的压缩格式。)
- [4) bzip2 将文件压缩为.bz2 文件,只能压缩文件,跟 gzip 类似,但是可以添加-k 选项,从而保留原文件;](#4) bzip2 将文件压缩为.bz2 文件,只能压缩文件,跟 gzip 类似,但是可以添加-k 选项,从而保留原文件;)
- 21.非交互性文本流编辑器
- 22.将文件中的记录分类
- 23.去除文本文件的重复行
- 25.从文本文件中剪切列或域
- 26.将两个文本文件粘贴在一起
- 27.将大文件进行分割
- [28.linux 常用命令](#28.linux 常用命令)
1.从其他机器拷贝文件夹
格式: scp -r 文件夹名(源) 用户名@机器名:/路径(目的)
范例: scp -r search work@zjm-testing-ps23.zjm.baidu.com:/home/work/
2.查看哪个程序在用特定端口
格式: netstat -nap | grep 端口号
范例: netstat -nap | grep 8080
资源由 www.eimhe.com 美河学习在线收集提供
3.实时监控日志文件内容
格式: tail -f 日志文件名
范例: tail -f ui.log
说明:这显示 ui.log 文件的最后十行。tail 命令继续显示添加到 ui.log 文件中的行。显示会一
直继续,直到您按下 Ctrl-C 按键顺序来停止
4.查看指定用户拥有的进程
格式: pstree 用户 id
范例: pstree work
说明:显示 work 用户正在运行的各进程之间的继承关系,以树状结构方式列出
5.查看磁盘空间使用情况
格式: df -h
6.文件搜索
which(whereis) 显示系统命令所在目录
which ls 可以查找 ls 命令文件所在目录。输出为:/bin/ls
whereis ls 可以查找 ls 命令所在目录,同时会显示该命令的帮助文档所在目录。
find 查找任何文件或目录
--name --size --ctime --atime --mtime --type -user
find [搜索路径] [查找方式] [搜索关键字]
1) 根据文件名称查找
find ./ -name temp //在当前目录下,按照名字查找名字为 temp 的文件。可以使用通
配符和?,其中 匹配多个或零个字符,?匹配一个任意字符。
find ./ -name a.* find ./ -name a.tx? 都是查找 a.txt。
2) 根据文件大小查找
find ./ -size +204800 //在当前目录下,按照文件大小来查找,其中后面的数字的单位
是数据块,一个数据块是 512 字节。
204800512 字节=204800 0.5KB=102400KB=100MB,因此上述命令是查找大于 100MB
的文件。
+是大于,-是小于,不加加减表示等于。
3 )根据文件所有者来查找
find ./ -user yirenwei//在当前目录下,查找文件所有者为 yirenwei 的文件。
4) 根据文件修改时间来查找
ctime(文件属性被修改过)atime(被访问过)mtime(内容被修改过) 单位是天
cmin、amin、mmin 单位是分钟
-之内,+超过
find ./ -ctime -1 查找 1 个小时内被属性被修改过的文件;
find ./ -cmin -10 查找 10 分钟之内属性被修改过的文件;
find ./ amin +10 查到已经访问了超过 10 分钟的文件。
资源由 www.eimhe.com 美河学习在线收集提供
5) 连接符 --a(AND) -o(OR) -exec
5.1 find ./ -size +163800 --a -204800 //查找文件大小大于 80M 小于 100M 的文件。
5.2 find ./ -type f --exec ls {}; 花括号,转义符,分号。 查找当前目录下所有的文
件,然后再对查找结果进行 ls 操作。
又如: find ./ -user yirenwei --exec rm {};查找,并删除。
6) 根据文件类型查找
find ./ -type f //查找二进制文件,还有 --type d/-type l,查找目录或者 link 文件。
locate (linux 特有的命令,UNIX 没有这个命令)
locate newfile //查找名称为 newfile 的文件。
注意:locate 是从系统文件的数据库中查找,不是在硬盘搜索,find 是在硬盘搜索。因
此locat快,但是当新建的文件,可能找不到,因为系统的数据库还没有更新;可以使用updatdb命令来配合使用,手动更新数据库(只能 root 调用貌似)。
grep 在文件中查找需要的行
grep [指定字符串] [源文件]
-v 反选 例如:grep --v "^#" 不以#开始的行
7.查看内存使用情况
格式: free
8.查看本机系统内核
格式: uname -a
9.查看当前路径下的文件/文件夹大小
格式: du -hs 文件名/文件夹名
10.变更为其它使用者的身份
格式: su 使用者帐号
范例: su work
11.远程登陆
格式: ssh 用户名@机器名
范例: ssh rd@build01
12.不挂断地运行命令
格式: nohup command &
范例: nohup ./build_index.sh -d .../newdbi/ &
资源由 www.eimhe.com 美河学习在线收集提供
13.查看文件的行数
格式: wc -l 文件名
范例: wc -l as.conf
14.比较两个文件的不同之处
格式: vimdiff 文件 1 文件 2
范例: vimdiff 1.txt 2.txt
15.杀死进程
格式: killall -9 进程名
范例: killall -9 bs.se
16.在 SecureCRT 中把文件传给本机的 SecureCRT 安装目录的 download 目录下
格式: sz 文件名
范例: sz 1.txt
17.把本机文件传给 SecureCRT 中当前机器的当前目录
格式: rz
18.Vi 文本编辑器
开始进入是命令模式;i a o 进入插入模式,ESC 可以退出插入模式;:可以进入编辑模式,
编辑完成回车退回命令模式。
1) 插入命令
2) 定位
3) 删除
4) 复制剪切
5) 替换和取消
6) 搜索和替换
7) 保存退出
xml
:wq 保存退出 :wq!强行保存退出(文件的所有者以及 root 才可以用)
shift+ZZ 保存退出
:q! 退出不保存
8) vi 其他用法
xml
:r filename 将 filename 文件的内容导入到当前文件中
:! ls /etc 在 vi 中编辑模式,键入:! 然后可以执行命令,不需要退出 vi
19.察看文件类型
格式:file 文件名
20.压缩命令
1) gzip 将文件压缩为.gz(只能压缩文件,不能压缩目录;不能保留源文件)
gzip [选项] 文件名
gzip newfile 可以得到 newfile.gz 而原来的 newfile 文件不存在了。
解压缩:gunzip newfile.gz 解压 newfile.gz 得到 newfile 文件
2) tar 打包文件,将一个目录打包为一个 tar 包,可以与 gzip 结合压缩目录。
tar [选项] [打包以后的文件名] [对那个目录进行打包]
选项:-c 产生打包文件 -v 显示详细信息 --f 指定打包后的文件名 --z 打包的同时压缩
tar --zcvf dir.tar.gz dir 将 dir 打包并压缩为名为 dir.tar.gz
解压缩:将-c 换成-x 即可 tar --zxvf dir.tar.gz
3) zip 将文件打包为 zip 文件,windows 和 linux 默认统一支持的压缩格式。
zip file.zip file(压缩文件)
zip --r dir.zip dir(压缩目录)
解压缩:unzip dir.zip
4) bzip2 将文件压缩为.bz2 文件,只能压缩文件,跟 gzip 类似,但是可以添加-k 选项,从而保留原文件;
bzip2 --k a.bz2 a.txt 得到:a.bz2
解压缩:bunzip2 a.bz2
总结:linux 下一共有四种压缩方式,得到的后缀分别为:.gz/.tar.gz/.zip/.bz2;其中 tar.gz 是
先打包再压缩的。对应的四种命令是:gzip/tar -c/zip/bzip2
对应的解压缩为:gunzip/tar --x/unzip/bunzip2
21.非交互性文本流编辑器
格式:sed [选项] '命令' 输入文件名
参数:
-n 不打印,sed 不写编辑行到标准输出,缺省为打印所有行
-c 下一命令是编辑命令,使用多项编辑时加入此选项。如果只用到一条 sed 命令,
此选项无用,但指定它也没有关系。
-f 如果正在调用 sed 脚本文件,使用此选项。此选项通知 sed 一个脚本文件支持所
有的 sed 命令,例如:sed -f myscript.sed input_file,这里 myscript.sed 即为支持
sed 命令的文件。
范例:
sed --n '2p' quota.txt 打印文本的第二行
sed --n '/Neave/'p quota.txt 匹配单词 Neave,并打印此行
sed '1d' quota.txt 删除文本的第一行
22.将文件中的记录分类
格式:sort [选项] --o 输出文件名 [其他选项] +pos1 +pos2 输入文件名
参数:
-c 测试文件是否已经分类
-m 合并两个分类文件
-u 删除所有复制行
-o 存储 sort 结果的输出文件名
其它参数有:
-b 使用域进行分类时,忽略第一个空格。
-n 指定分类是域上的数字分类。
-t 域分隔符;用非空格或 t a b 键分隔域。
-r 对分类次序或比较求逆。
+n n 为域号。使用此域号开始分类。
n n 为域号。在分类比较时忽略此域,一般与+ n 一起使用。
pos1,pos2 传递到 m,n。m 为域号,n 为开始分类字符数;例如 4,6 意即以第 5 域
分类,从第 7 个字符开始。
范例:sort -t: +2n video.txt 以":"为域分割符,按第三个域数字分类 video.txt
23.去除文本文件的重复行
格式:uniq [选项] 输入文件 [输出文件]
资源由 www.eimhe.com 美河学习在线收集提供
参数:
-u 只显示不重复行。
-d 只显示有重复数据行,每种重复行只显示其中一行
-c 打印每一重复行出现次数。
-f n 为数字,前 n 个域被忽略。一些系统不识别- f 选项,这时替代使用- n。
范例:uniq --n2 parts.txt
24.连接两个文本文件
格式:join [选项] 文件 1 文件 2
说明:join 用来将来自两个文本文件的行连在一起,两个输入文件必须已经分过类,每个文
件里都有一些元素与另一个文件相关,由于这种关系,join 将两个文件连在一起。
参数:
-an n 为一数字,用于连接时从文件 n 中显示不匹配行。例如, - a 1 显示第一个文
件的不匹配行,- a 2 为从第二个文件中显示不匹配行。
-o n.m n 为文件号,m 为域号。1 . 3 表示只显示文件 1 第三域,每个 n,m 必须用逗号
分隔,如 1 . 3,2 . 1。
-j n m n 为文件号,m 为域号。使用其他域做连接域。
-t 域分隔符。用来设置非空格或 t a b 键的域分隔符。例如,指定冒号做域分隔符- t:
范例: join --o 1.1,2.2 names.txt town.txt
25.从文本文件中剪切列或域
格式:cut [选项] 文件名
参数:
-c list 指定剪切字符数。
-f field 指定剪切域数。
-d 指定与空格和 tab 键不同的域分隔符。
- c 用来指定剪切范围,如下所示:
- c 1,5-7 剪切第 1 个字符,然后是第 5 到第 7 个字符。
-f 格式与- c 相同。
-f 1,5 剪切第 1 域,第 5 域。
范例: cut --d: -f3 pers
26.将两个文本文件粘贴在一起
格式:paste [options] file1 file2
说明:粘贴两个不同来源的数据时,首先需将其分类,并确保两个文件行数相同。paste 将
按行将不同文件行信息放在一行。缺省情况下, paste 连接时,用空格或 tab 键分隔
新行中不同文本,除非指定-d 选项,它将成为域分隔符。
参数:
-d 指定不同于空格或 t a b 键的域分隔符。例如用@分隔域,使用- d @。
-s 将每个文件合并成行而不是按行粘贴。
资源由 www.eimhe.com 美河学习在线收集提供
范例: paste --d: pas2 pas1 用冒号作分割符
27.将大文件进行分割
格式:split [选项] 输入文件名 输出文件名前缀
参数:-a 指定后缀的长度(缺省为 2)
-b 每个输出文件的字节大小
-l 每个输出文件的行数
范例:split --l 1000 bigfile.txt outfile
28.linux 常用命令