cd命令:
它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径。
cd [目录名]cd /root/Docements 切换到目录/root/Docements
cd ~ 进入用户主目录;
cd - 返回进入此目录之前所在的目录;
cd .. 返回上级目录(若当前目录为"/",则执行完后还在"/";".."为上级目录的意思);
cd ../.. 返回上两级目录;
cd !$ 把上个命令的参数作为cd参数使用。
ls命令:
这是一个非常有用的查看文件与目录的命令,list之意,它的参数非常多,下面就列出一些我常用的参数吧
ls -a 列出目录所有文件,包含以.开始的隐藏文件
ls -A 列出除.及..的其它文件
ls -r 反序排列
ls -t 以文件修改时间排序
ls -S 以文件大小排序
ls -h 以易读大小显示
ls -l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来
ls -R 连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来注:参数可结合使用 例如:ls -lR
grep命令:
全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
在文件中搜索一个单词,命令会返回一个包含“match_pattern”的文本行:
grep match_pattern file_name
grep "match_pattern" file_name在多个文件中查找:
grep "match_pattern" file_1 file_2 file_3 ...
find命令:
find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。
find pathname -参数 [-print -exec -ok ...]find -atime -2 查找 48 小时内修改过的文件
find ./ -name '*.log' 在当前目录查找 以 .log 结尾的文件。 . 代表当前目录
find /opt -perm 777 查找 /opt 目录下 权限为 777 的文件
find -size +1000c 查找大于 1K 的文件find . -type f -mtime +10 -exec rm -f {} \; 在当前目录中查找更改时间在10日以前的文件并删除它们(无提醒)
find . -name '*.log' mtime +5 -ok -exec rm {} \; 当前目录中查找所有文件名以.log结尾、更改时间在5日以上的文件,并删除它们,只不过在删除之前先给出提示。 按y键删除文件,按n键不删除更加具体详细内容请详细了解
cp命令:
将源文件复制至目标文件,或将多个源文件复制至目标目录。
注意:命令行复制,如果目标文件已经存在会提示是否覆盖,而在 shell 脚本中,如果不加 -i 参数,则不会提示,而是直接覆盖!
cp file /usr/men/tmp/file1 将文件file复制到目录/usr/men/tmp下,并改名为file1
cp -r /usr/men /usr/zh 将目录/usr/men下的所有文件及其子目录复制到目录/usr/zh中
cp -i /usr/men m*.c /usr/zh 交互式地将目录/usr/men中的以m打头的所有.c文件复制到目录/usr/zh中cp aaa/* /bbb 复制目录aaa下所有到/bbb目录下,这时如果/bbb目录下有和aaa同名的文件,需要按Y来确认并且会略过aaa目录下的子目录。
cp -r aaa/* /bbb 这次依然需要按Y来确认操作,但是没有忽略子目录。
cp -r -a aaa/* /bbb 依然需要按Y来确认操作,并且把aaa目录以及子目录和文件属性也传递到了/bbb。
\cp -r -a aaa/* /bbb 成功,没有提示按Y、传递了目录属性、没有略过目录。
mv命令:
移动文件或修改文件名,根据第二参数类型(如目录,则移动文件;如为文件则重命令该文件)。
mv test.log test1.txt 将文件 test.log 重命名为 test1.txt
mv llog1.txt log2.txt log3.txt /test3 将文件 log1.txt,log2.txt,log3.txt 移动到根的 test3 目录中
mv -i log1.txt log2.txt 将文件 log1.txt 改名为 log2.txt,如果 log2.txt 已经存在,则询问是否覆盖
mv * ../ 移动当前文件夹下的所有文件到上一级目录
rm命令:
删除一个目录中的一个或多个文件或目录,如果没有使用 -r 选项,则 rm 不会删除目录。如果使用 rm 来删除文件,通常仍可以将该文件恢复原状。
注意:使用rm命令要格外小心。因为一旦删除了一个文件,就无法再恢复它。
rm -i test example 交互式删除当前目录下的文件test和example(逐一询问确认删除)
rm -rf test 删除 test 子目录及子目录中所有档案删除,并且不用一一确认
ps命令:
用来查看当前运行的进程状态,一次性查看,如果需要动态连续结果使用 top
ps 工具标识进程的5种状态码:
D 不可中断 uninterruptible sleep (usually IO)
R 运行 runnable (on run queue)
S 中断 sleeping
T 停止 traced or stopped
Z 僵死 a defunct (”zombie”) processps -ef 显示当前所有进程环境变量及进程间关系
ps -A 显示当前所有进程
ps -aux | grep apache 与grep联用查找某进程
ps aux | grep '(cron|syslog)' 找出与 cron 与 syslog 这两个服务有关的 PID 号码
kill命令:
用来删除执行中的程序或工作。
-l 信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称
-a 当处理当前进程时,不限制命令名和进程号的对应关系
-p 指定kill 命令只打印相关进程的进程号,而不发送任何信号
-s 指定发送信号
-u 指定用户信号:
HUP 1 终端断线
INT 2 中断(同 Ctrl + C)
QUIT 3 退出(同 Ctrl + \)
TERM 15 终止
KILL 9 强制终止
CONT 18 继续(与STOP相反, fg/bg命令)
STOP 19 暂停(同 Ctrl + Z)kill -9 63552 强制终止进程号为63552的进程
kill -9 $(ps -ef | grep pro1) 先使用ps查找进程pro1,然后用kill杀掉
killall命令:
killall 使用进程的名称来杀死进程,使用此指令可以杀死一组同名进程。
killall vi 杀死所有名为vi的进程
file命令:
用来探测给定文件的类型。
[root@localhost ~]# file install.log
install.log: UTF-8 Unicode text[root@localhost ~]# file -b install.log <== 不显示文件名称
UTF-8 Unicode text[root@localhost ~]# file -i install.log <== 显示MIME类别。
install.log: text/plain; charset=utf-8[root@localhost ~]# file -b -i install.log
text/plain; charset=utf-8
tar命令:
用来压缩和解压文件。
压缩:tar -jcv -f filename.tar.bz2 要被处理的文件或目录名称
查询:tar -jtv -f filename.tar.bz2
解压:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录
cat命令:
三大功能:一次显示整个文件;从键盘创建一个文件,只能创建新文件,不能编辑已有文件;将几个文件合并为一个文件。
cat filename 一次显示整个文件
cat > filename 从键盘创建一个文件,只能创建新文件,不能编辑已有文件
cat file1 file2 > file 将几个文件合并为一个文件cat filename | less # 查看filename文件中的内容,一页页地查看
chgrp命令:
用来改变文件或目录所属的用户组。
chgrp -R mengxin /usr/meng 将/usr/meng及其子目录下的所有文件的用户组改为mengxin
chown命令:
该命令用于改变文件的所有者,与chgrp命令的使用方法相同,只是修改的文件属性不同。
chown -c mail:mail log2012.log 改变拥有者和群组 并显示改变信息
chown -c :mail t.log 改变文件群组
chown -cR mail: test/ 改变文件夹及子文件目录属主及属组为 mail
chmod命令:
该命令用于改变文件的权限。
u User,即文件或目录的拥有者;
g Group,即文件或目录的所属群组;
o Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围;
a All,即全部的用户,包含拥有者,所属群组以及其他用户;
r 读取权限,数字代号为“4”;
w 写入权限,数字代号为“2”;
x 执行或切换权限,数字代号为“1”;
- 不具任何权限,数字代号为“0”;
s 特殊功能说明:变更文件或目录的权限。chmod 0755 file 把file的文件权限改变为-rxwr-xr-x
chmod g+w file 向file的文件权限中加入用户组可写权限
vim命令:
:e file –关闭当前编辑的文件,并开启新的文件。 如果对当前文件的修改未保存,vi会警告。
:e! file –放弃对当前文件的修改,编辑新的文件。
:e+file – 开始新的文件,并从文件尾开始编辑。
:e+n file – 开始新的文件,并从第n行开始编辑。
:enew –编译一个未命名的新文档。(CTRL-W n)
:e – 重新加载当前文档。
:e! – 重新加载当前文档,并丢弃已做的改动。
:e#或ctrl+^ – 回到刚才编辑的文件,很实用。
:f或ctrl+g – 显示文档名,是否修改,和光标位置。
:f filename – 改变编辑的文件名,这时再保存相当于另存为。
gf – 打开以光标所在字符串为文件名的文件。
:w – 保存修改。
:n1,n2w filename – 选择性保存从某n1行到另n2行的内容。
:wq – 保存并退出。
ZZ – 保存并退出。
:x – 保存并退出。
:q[uit] ——退出当前窗口。(CTRL-W q或CTRL-W CTRL-Q)
:saveas newfilename – 另存为
:browse e – 会打开一个文件浏览器让你选择要编辑的文件。 如果是终端中,则会打开netrw的文件浏览窗口; 如果是gvim,则会打开一个图形界面的浏览窗口。 实际上:browse后可以跟任何编辑文档的命令,如sp等。 用browse打开的起始目录可以由browsedir来设置:
:set browsedir=last – 用上次访问过的目录(默认);
:set browsedir=buffer – 用当前文件所在目录;
:set browsedir=current – 用当前工作目录;
:Sex – 水平分割一个窗口,浏览文件系统;
:Vex – 垂直分割一个窗口,浏览文件系统;
gcc命令:
使用GNU推出的基于C/C++的编译器,是开放源代码领域应用最广泛的编译器
gcc -c testfun.c #将testfun.c编译成testfun.o
gcc -c test.c #将test.c编译成test.o
gcc -o testfun.o test.o -o test #将testfun.o和test.o链接成test
time命令:
该命令用于测算一个命令(即程序)的执行时间。
time ./process
time ps aux