linux常用命令

cat  输入输出命令

cat  从标准输入设备输入,从标准输出设备输出

cat > file从标准输入设备输入,输出到文件中,覆盖源文件,如果是追加,使用cat >> file

cat < file 从文件读入,输出的标准输出,可以简写问 cat file

cat < file1 > file2 将文件file1的内容拷贝的file2;简写为cat file1 > file2;  变形:cat file1 >> file2

 

管道符号

| 将前面的输出作为后面的输入,如 cat file | sort 会将file的数据排序,也可以直接sort file

cd 的特殊用法

cd .. 进入父目录,  cd  ../.. 进入父目录的父目录,依次类推

cd  ~ 进入home目录,也即主目录; 以/开头的路径是绝对路径

 

pwd 打印当前目录, mkdir 创建新目录  rmdir删除目录项 rm删除文件(-r 级联删除)

 

ls 列出目录内容

“l”, 列出每个文件及其的详细信息

“t” 按修改时间列出所有文件

‘”r” 按时间或文件名逆序排列

“a” 列出”.”开头的隐藏文件

“f” 如果文件是目录,后加“/”;是可执行文件,后加”*”,是符号链接,后加”@”

“i” 在第一列显示i节点号

 

 

cp  拷贝命令

cp source destination  如果同名则覆盖

mv 与cp类似,区别是操作后源文件不存在

 

diff 报告两个文件的差别,一般用于文本文件;

对于文本文件,按行比较,基本原理是最长公共子序列(LCS),对两个目录,按文件名比较;

使用方法 diff  [参数] file1 file2

参数 –b 忽略由于空格及制表符而引起的差异

-I  忽略字符大小写差异      -e 产生一个编辑手稿

输出格式

(1)       n1  a  n2,n3

>显示文件2中n2到n3的哪些行  (注:>表示输出文件2, <表示输出文件1)

意义:在文件1的n1行后添加文件2中的n2到n3行,可以使两个文件保持一样,猜测a是append的意思;

(2)       n1,n2  d  n3

<显示文件1中的n1到n2的哪些行

意义:在文件爱呢1中删除n1到n2行,也可以从文件2的n3行后加入文件1的n1到n2行,即可是两个文件一致。猜测d 是delete的意思

(3)       n1,n2  c  n3,n4

<显示文件1的n1到n2行

        > 显示文件2中的n3到n4行

        意义:将文件1的n1到n2行改为文件2的n3到n4行,这两个文件就相等了。

通常将旧文件设为file1,新文件设为file2.对于二进制文件,由于没有行信息,只返回相同与否;Comm命令可以用来报告两个文件的相同点。

 

File filename推测文件类型信息;

Find 目录 [条件] [操作]   递归找到指定目录树中满足条件的文件,并执行相应的操作

条件:

 -atime[+|-]n   访问时间在n天以外或者以内 ;     -mtime[+|-]n  修改时间,

 -name filename  文件名可使用通配符,但必须转义,或者放在双引号内;

 -type 字符, 指定由字符表示的文件类型:f为普通文件,d为目录,c为字符设备文件,b是块,p是管道

操作:

-print  打印到标准输出

-exec 命令, 对找到的文件执行shell命令,命令参数为”{}”,它将被find找到的文件名替换,命令末尾的分号要转义

 

 

Chown (change owner改变文件属主 

Chown  newowner filename   或 chown –r  newowner 目录, 递归改变

Chmod  改变文件存取权限

第一种方式:

Chmod  777 file 将文件file的权限置为所有用户可读可写可执行

Chmod  644 file 将file的权限设为文件主可读可写,组用户和其他用户只可读

中间的3位数是八进制,每个数字的对应三个二进制位,分别表示文件主、同组用户、其他用户的读写执行权限

第二种方式:

         Chmod   [u|g|o|a][+|-|=][r|w|x|s] 表示对某些用户以某种方式改变某些权限

   例子:chmod ug+w file 给file的文件主、组用户增加些权限

         Chmod a=rwx file  给file的所有用户读写执行权限

   u (user) 文件主,g (group) 同组用户, o(other)其他用户, a(all)所有用户

   + 添加权限    -取消权限   = 设置权限,原有的被取消

   r (read) 读权限,  w(write)写权限, x(excute)执行权限

   s 执行时置进程的有效用户标识数为文件主标识诉后,即执行该文件的用户将拥有文件主的权限,例如普通用户修改密码时,普通用户不能直接修改passwd文件,必须借助bin/passwd命令,而这个命令的文件主是root。

用-r选项可以递归改变文件模式;

Umask [3位八进制数] 

  命令把用户创建文件方式的屏蔽码设为参数规定的模式,意即:默认创建的文件的权限为777 & (~ ooo)

 

More [+起始行号] | [+/查找模式]   [filename]

两个选项不能同时使用,如果没有这两个选项,默认从文件头开始显示;

内部命令:

         空格键:显示下一屏                                          enter键:显示下一行

         Nf: 向下移动n屏,其中n是数字;          nb:向上移动n屏

    /模式:向下查找指定的字符串模式;        n: 重复前面查找命令

=:显示当前行号                                                    h:显示帮助信息

q:退出more                                                         类似命令:pg

 

head 和tail命令:

head –n file  显示文件前n行

tai +n file  显示文件头开始的第n行到文件尾

tail –n file  显示最后n行

如果不指定文件,默认标准输入输出,不指定行号,设定为默认值

Eg: head -70 file | tail -20  显示file的51行到70行

下面显示main3.c的第100行

 

 

打印命令:line printer

Lp [-mvc] [-d 打印机名] [-t 标题] filename

Lpstat [-p 打印机名列表] [-u 用户名列表]

Cancel 作业号列表; cancel 打印机名列表;cancel –u 用户标识符;

 

Od 命令 (octal dump

Od命令可以以各种格式显示二进制文件的内容;

用法:od [格式] [文件] [位移量]

格式:

-b  按二进制数显示; -o 按八进制数显示(默认);   -d 按十进制数显示

-x 按十六进制数显示;        -c 按AXCII码显示;

位移量:默认为八进制,加.为十进制,加b为块数,如10表示位移为十进制8,10.表示位移为十进制10,10b表示位移为8块;位移的意思是从位移值+1出开始显示。

 

 

Sort  对文件内容排序

http://www.cnblogs.com/51linux/archive/2012/05/23/2515299.html

-t “c” 指定域分隔符为c,这里只能是单个字符   -b 忽略行前空白  -s 稳定排序

-n 按数值排序                 -r 逆序    -u 去除重复   -f 不区分大小写   –o filename 输出到指定文件

-k x  按照第x个域进行排序    -k x.a, x.b  按照x域的[a,b]段进行排序,可以指定多个关键码

 

检测文件是否已排序: sort –c file

合并已排序文件并去除重复:sort –mu file1 file2 –o file 

 

grep [选项] 模式 文件

http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2856896.html

grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

-i Ignore 忽略大小写               -n number 在输出中添加相关行号     -r reverse 选择所有不包括指定模式的行

正则表达式语法:

http://deerchao.net/tutorials/regex/regex.htm

https://msdn.microsoft.com/zh-cn/library/ae5bf541(VS.80).aspx

 

sed 流编辑命令

http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2856901.html

sed 是一种在线编辑器,它一次处理一行内容,可以将数据行进行替换、删除、新增、选取等特定工作。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。

awk

http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858470.html

awk是一个强大的文本分析工具。简单来说awk就是把文件逐行的读入,然后抽取匹配行,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理,生成报告。

awk –F “分隔符” ‘ begin {初始化操作}  /模式/{对于匹配行的操作}  end{其他操作}’  input_file

下面的例子是统计本文件夹内的C语言文件数目和总大小

 

也可以这样

 

Awk 和C语言类似,有流程控制语句,有内置函数,有算术逻辑运算

 

Cut 裁剪指定的列

http://www.cnblogs.com/dong008259/archive/2011/12/09/2282679.html

paste 组合数据列

paste [-d 分隔符] [文件列表]  分隔符默认为tab,所有文件必须有相同的行;

paste -d ":" file file2 > new   

http://blog.csdn.net/carolzhang8406/article/details/6112045

 

date 显示或设置日期和时间

df 显示磁盘空间    du显示磁盘使用情况   stty  显示或设置终端参数

 

文件压缩与解压缩

tar 磁盘归档

tar cvf  test.tar  ./test   打包文件及其子目录   tar xvf test.tar  提取文件

tar  -zcvf  test.tar.gz  //报告并用gzip压缩  tar  -zxvf  test.tar.gz  //解压缩并提取文件

 tar  -jcvf  test.tar.bz2  tar  -jcvf  test.tar.bz2   //同上

 

compress test.tar   // 得到test.tar.Z 覆盖原文件, 如果不需要覆盖源文件,使用-c

umcompress test.tar.Z  //得到test.tar  ,compress 没有归档功能,只能压缩单个文件;

compress 用LZW压缩算法,详见http://www.cnblogs.com/jillzhang/archive/2006/11/06/551298.html

 

zip all.zip  * // 将当前目录下的所有文件压缩,子目录中的文件没有添加进去

unzip all.zip 解压缩

gzip   --- gnu zip

--r 递归压缩目录树                 -t 检查压缩文件的完整性             -l 显示压缩比  -c 保留原文件

Gzip files.tar  //压缩,产生files.tar.gz     gzip –d files.tar.gz  //解压缩,产生files.tar 

Gzip可以递归压缩是指可以递归压缩目录中的每一个文件;

 

文件加密命令 crypt 和des

其他命令

who 显示登陆用户信息                  logname 获得注册名  id  显示用户名与用户id和组名与组id;

ps  process state 显示进程状态   nohup command [arg]  执行命令,禁止中断      env 显示或设置环境变量

(sleep 20; cmd1) & cmd2

挂起20秒后,执行cmd1;在此之前可以先运行cmd2,&表示后台执行;

 

Time command [option] 统计一个作业的执行时间

Wait [n] 等待进程号为n的后台进程终止,并报告他的终止状态;

Top命令   Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况。

Man命令  帮助手册

《待完成》

make

linux下C编程环境

gcc 等编译调试命令

posted on 2015-09-20 12:47  gaoyanqing  阅读(180)  评论(0编辑  收藏  举报

导航