1. 最基本的命令
cd 进入文件夹 |
cd .. 退出文件夹 |
mkdir 创建文件夹 |
ls查看该文件下有哪些文件或文件夹 |
ll 查看该文件下有哪些文件或文件夹(更详细) |
mv 剪切或移动 |
rm –rf 删除文件或文件夹。 |
cat 显示文件内容。 |
pwd 查看当前所在目录 |
远程拷贝文件或文件夹 |
格式: scp -r 文件夹名 用户名@机器名:/路径 |
拷贝文件或文件夹 |
格式: cp –r 文件夹名/文件 路径 |
格式: cp –r config/ Data/users/wangxiaoceng/ |
将config/ 文件夹拷贝到Data/users/wangxiaoceng/里去。 |
|
alias 设置指令的别名 |
范例:alias wxc_tsy_db="mysql -utsy -p123456 -h192.168.0.10 -P3306" |
可写入到 vim ~/.bashrc文件中。 |
然后source ~/.bashrc 使命令生效。 |
2. 查看哪个程序在用特定端口
格式: |
netstat -nap | grep 端口号 |
范例: |
netstat -nap | grep 8080 |
3.实时监控日志文件内容
格式: |
tail -f 日志文件名 |
范例: |
tail -f app.log |
说明:这显示ui.log文件的最后十行。tail 命令继续显示添加到ui.log文件中的行。显示会一直继续,直到您按下 Ctrl-C 按键顺序来停止
其它相关:tail 可以结合 grep 管道一起使用
tail -200 app.log |
查看app.log的最后200行 |
head -10 app.log |
查看app.log的头10行 |
4.查看进程状况
格式:ps 参数 |
范例:ps –ef | grep nginx 查看nginx进程,是否启动了。 |
Ps –ef |
ps aux |
ps –u root |
格式: pstree 用户id |
范例: pstree work |
说明:显示work用户正在运行的各进程之间的继承关系,以树状结构方式列出 |
top 命令与ps 类似。 |
5.查看磁盘空间使用情况
df -hl 查看磁盘剩余空间 |
df -h 查看每个根路径的分区大小 |
6. 查看当前路径下的文件/文件夹大小
格式: du -hs 文件名/文件夹名 |
du -sm [文件夹] 返回该文件夹总M数 |
范例: 例子 du -sh * 可以查看该目录下的各个文件夹的大小 |
7.查找某文件中出现指定字符串的行
格式: grep 指定字符串 文件名 |
范例: grep aaaa app.log |
说明: 找出日志文件app.log中包含“aaaa”的行 |
文件夹下搜索所有文件下的某个内容 |
范例:grep -Rin "192.168.0.10" * |
搜索出的内容中把搜索的结果标注上颜色ls |
范例:grep -Rin "192.168.0.10" * --color |
搜索文件或目录【find 是最常见和最强大的查找命令,你可以使用他找到任何你想找的文件】 |
find使用格式如下: find <指定目录> <指定条件> <指定的动作> -<指定目录>:所要搜索的目录及其所有子目录。默认为当前目录 -<指定条件>:所要搜索的文件特征(关键词) -<指定动作>:对搜索结果进行特定的处理 如果什么菜蔬也不加,find默认搜索当前目录及子目录上所有的文件,并不过滤任何结果,全部返回所有文件,并将结果全部显示在屏幕上
|
find的使用实例: find . -name "jm" 或 find . -name jm find . -name *jm* 或 find .-name "jm*" 或 find .-name "jm"* 增加星号可以把当前目录包含子目录中所有与关键词相关的文件显示出来 find. -name "jm" -ls 增加-ls可以根据关键词把查找的文件的详细信息显示出来 find .-type f -mmin -10 搜索当前目录中,所有过去10分钟内更新过得普通文件,如果不加 -type f 参数,则搜索所有类型的文件+目录 |
范例:1:find / -name *jm* 、 2:find . -name *jm* |
8.查看本机系统内核
格式: uname -a |
9. 查看内存使用情况
格式: free |
10.变更为其它使用者的身份
格式: su 使用者帐号 |
范例: su work |
11.远程登陆
格式: ssh 用户名@机器名 |
范例: ssh rd@build01 |
12.不挂断地运行命令
格式: nohup command & |
范例: nohup ./build_index.sh -d ../newdbi/ & |
13.查看文件的行数
格式: wc -l 文件名 |
范例: wc -l as.conf |
14.比较两个文件的不同之处
格式: vimdiff 文件1 文件2 |
范例: vimdiff 1.txt 2.txt |
相关内容: |
dp 左复制到右边 |
do 右复制到左边 |
:q关闭一个 |
:qa关闭两个文件 |
点击键盘 i可编辑, |
Ctrl + w+w可切换到右边进行编辑 |
。
15.杀死进程
格式: killall -9 进程名 |
范例: killall -9 bs.se |
16.在SecureCRT中把文件传给本机的SecureCRT安装目录的download目录下
格式: sz 文件名 |
范例: sz 1.txt |
17.把本机文件传给SecureCRT中当前机器的当前目录
格式: rz |
rz –e 能解决乱码问题。 |
相关内容: |
wget 是下载文件的工具 |
范di例:wget http://10.95.38.56:8101/static/saf.tar.gz |
18.Vi文本编辑器
格式:vi [选项] 文件名 |
参数: |
+n 从第n行开始编辑文件 |
范例:vi模式下光标会直接显示在对应行号下如:5行 vim +5 db_console.php |
+/exp 从文件中匹配字符串exp的第一行开始编辑 |
Vi中的操作主要有两类:命令模式和插入模式,模式之间的转换为: |
i/I 命令模式 插入模式 ESC
|
Vi命令模式下的一些重要命令: |
:e! 还原文件编辑之前的样子 |
u 撤销最近一次编辑动作 |
:q! 放弃缓冲区的内容,并推出vi |
:wq 保存缓冲区的内容,并推出vi |
范例:vi txt1 |
VI操作技巧: |
显示行号:【: set nu】 |
替换:【R】 (如:光标移到要修改的内容上如:【A】,按下键盘上的大写【R】后输入想要替换的内容如:【A】->【B】;按Esc退出替换模式) |
vi下搜索某个内容:【/****回车】 |
清屏:【clear】 |
Vi中更多有用的命令: |
l cw。用于删除掉一行中从某个字开始到结束的部分,并进入编辑状态。 |
l 例如:一个文件中有这样一行:aabbccddeeffgg |
l 我想把eeffgg删除,那么,我就可以在非编辑状态下,将光标的位置放在第一个“e”处,使用cw命令,那么,eeffgg就都被删除了,并且可以开始编辑。 |
l set nu。用于显示行号。在非编辑状态下,使用“:set nu”回车即可。 |
l 0。非编辑状态下,该命令用于移动到行首。 |
l $。非编辑状态下,该命令用于移动到行尾。 |
l ~。大小写转换。在非编辑状态下,将光标移至某个字符,使用~命令,那么小写的字母会变成大写,大写的字母会变成小写。 |
l p。系统会在缓冲区保留最后9个被删除的行。因此,如果想恢复最后一次被删除的行则在非编辑状态下使用“"1p”命令。如果想恢复倒数第2次被删除的行则在非编辑状态下使用“"2p”命令。 |
l 滚动屏幕的命令: |
l ^F 向前滚动一屏 |
l ^B 向后滚动一屏 |
l ^D 向前滚动半屏 |
l ^U 向后滚动半屏 |
l 在屏幕内移动 |
l H 移动到起始点----屏幕首行 |
l M 移动到屏幕的中间行 |
l L 移动到屏幕的末行 |
l nH 移动到屏幕首行下面的第n行 |
l nL 移动到屏幕末上上面的第n行 |
l 搜索 |
l n 同向重复搜索 |
l N 反向重复搜索 |
l /回车 向前重复搜索 |
l ?回车 向后重复搜索 |
l 将脚本中第1-10行注释掉:使用:“:1,10s/^/#”。 |
相关内容 nano 编辑器,也很不错。
19.crontab命令
crontab –l 查看 |
crontab –e 编辑 |
20.文本抽取
格式:awk [-F 域分割符] ‘命令’ 输入文件名 |
说明:awk用以从文本文件和字符串中抽取信息,为获得信息,文本必须格式化,意即用域分割符划分抽取域,分割符可以使任意字符。Commands由模式和动作两部分组成,模式部分决定动作语句何时触发,模式可以使任何条件语句或复合语句或正则表达式,实际动作在打括号{}内指名,动作大多用来打印,如果不指明动作,awk将打印出所有浏览出来的纪录。 |
awk执行时,其浏览的域标记为$1,$2,$3…..$n,$0为所有域 |
awk 的一些内置变量: |
NF 浏览记录的域个数 |
NR 已读的记录数 |
FIILENAME awk浏览的文件名 |
范例: |
awk ‘END {print NR}’ grade.txt |
awk ‘{if ($4==”Yellow”|| $4~/Brown/)print $0}’ grade.txt |
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 删除文本的第一行 |
sed -i 's/10.99.49.53/10.95.40.58/g' global.conf |
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 [选项] 输入文件 [输出文件] |
参数: |
-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 将每个文件合并成行而不是按行粘贴。 |
范例: paste –d: pas2 pas1 用冒号作分割符 |
27.将大文件进行分割
格式:split [选项] 输入文件名 输出文件名前缀 |
参数:-a 指定后缀的长度(缺省为2) |
-b 每个输出文件的字节大小 |
-l 每个输出文件的行数 |
范例:split –l 1000 bigfile.txt outfile |
28.关于&、fg、bg、ctrl+z、jobs命令
&这个用在一个命令的最后,可以把这个命令放到后台执行。 |
ctrl + z 可以将一个正在前台执行的命令放到后台,并且暂停 |
jobs 查看当前有多少在后台运行的命令 |
fg 将后台中的命令调至前台继续运行 |
bg 将一个在后台暂停的命令,变成继续执行。 |
如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid) |
28.chrown 将指定文件的拥有者改为指定的用户或组
格式:chown –R 用户名称 文件或目录 |
范例:chown -R work:work web/assets/ web/db/ |
29查看和修改Linux的时间
1. 查看时间和日期 |
命令 : "date" |
2.设置时间和日期 |
例如:将系统日期设定成2009年11月3日的命令 |
命令 : "date -s 11/03/2009" |
将系统时间设定成下午5点55分55秒的命令 |
命令 : "date -s 17:55:55" |
3. 将当前时间和日期写入BIOS,避免重启后失效 |
命令 : "hwclock -w" |
服务器时间调整与Windows时间一致 |
ntpdate time.windows.com |
30
更改文件用户权限: |
更改当前目录下所有文件夹和文件的权限:chown -R work:work * |
更改当前目录下所有,文件名有相同的文件夹和文件的权限:chown -R work:work t2-* |
t2-*的意思是【文件或文件夹的名称是已t2开头的,*代表t2后边的名称信息】 |
更改文件夹以及文件权限:chown -R work:work 文件夹或文件 |
31.其它补充
清除日志信息 |
echo ' ' >****.log |