Linux

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux相关的知识,希望对你有一定的参考价值。

一:文件管理命令

1 basename  功能 从文件名中去掉路径和扩展名

basename include/stdio.h .h 

 Output "stdio".

--help 显示此帮助信息并离开  --version 显示版本信息并离开

2 cat   功能  把档案串连接后传到基本输出(屏幕或加 > filename 到另一个档案)

 语法:cat [-AbeEnstTuv] [--help] [--version] filename

参数

-n 或 --number 由 1 开始对所有输出的行数编号

-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号

-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行

-v 或 --show-nonprinting

范例:

cat -n textfile1 > textfile2 把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里

cat -b textfile1 textfile2 >> textfile3 把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容

附加到 textfile3 里。

3 cd 功能   切换目录    语法  cd [目的目录]

 补充说明

cd 指令可让用户在不同的目录间切换,但该用户必须拥有足够的权限进入目的目录。

4 chgrp 功能说明  更文件或目录的所属群组。

语法:

chgrp [-cfhRv][--help][--version][所属群组][文件或目录...]

或 chgrp [-cfhRv][--help][--reference=<参考文件或目录>][--version][文件或目录...]

5 chmod 功能说明  变更文件或目录的权限。

语法:

chmod [-cfRv][--help][--version][<权限范围>+/-/=<权限设置...>][文件或目录...]

或 chmod [-cfRv][--help][--version][数字代号][文件或目录...]

或 chmod [-cfRv][--help][--reference=<参考文件或目录>][--version][文件或目录...]

chown  功能说明  变更文件或目录的拥有者或所属群组。

语法

chown [-cfhRv][--dereference][--help][--version][拥有者.<所属群组>][文件或目录..]

或chown [-chfRv][--dereference][--help][--version][.所属群组][文件或目录... ...]

或chown [-cfhRv][--dereference][--help][--reference=<参考文件或目录>][--version][文件或目录...]

7 comm 功能说明  比较两个已排过序的文件。

 语法

comm [-123][--help][--version][第1 个文件][第2 个文件]

8 cp 功能说明  复制文件或目录。

 语法

cp [-abdfilpPrRsuvx][-S <备份字尾字符串>][-V <备份方式>][--help][--spares=<使用时机>][--version][源文件或目录][目标文件或目录] [目的目录]

9 cut 功能说明  显示每行从开头算起 num1 到 num2 的文字

语法

cut -cnum1-num2 filename

10 dd 功能说明  读取,转换并输出数据。

 语法

dd [bs=<字节数>][cbs=<字节数>][conv=<关键字>][count=<区块数>][ibs=<字节数>][if=<文件>][obs=<字节

数>][of=<文件>][seek=<区块数>][skip=<区块数>][--help][--version]

11 diff 功能说明  比较文件的差异。

 语法

diff [-abBcdefHilnNpPqrstTuvwy][-<行数>][-C <行数>][-D <巨集名称>][-I <字符或字符串>][-S <文件>][-W <宽度>][-x <文件或目录>][-X <文件>][--help][--left-column][--suppress-common-line][文件或目录1][文件或目录2]

12 dir 功能说明  列出<文件>的信息 (默认为目前的目录)。

 语法

dir [选项]... [文件]... Linux公社 www.linuxidc.com


13 dos2unix 功能说明  将一个 DOS 格式的文件转换为UNIX 格式的文件。主要差别在换行符。

语法:

dos2unix [-hkqV] [-c convmode] [-o file ...] [-n infile outfile ...]

14 egrep  功能说明  在文件内查找指定的字符串。

.15 fgrep 功能说明 查找文件里符合条件的字符串。

 语法

fgrep [范本样式][文件或目录...]

16 file  功能说明  辨识文件类型。

 语法

file [-beLvz][-f <名称文件>][-m <魔法数字文件>...][文件或目录...]

17 find 功能说明  查找文件或目录。

语法

find [目录...][-amin <分钟>][-anewer <参考文件或目录>][-atime <24 小时数>][-cmin <分钟>]

[-cnewer <参考文件或目录>][-ctime <24 小时数>][-daystart][-depyh][-empty][-exec <执行指

令>]

18 grep 功能说明  查找文件里符合条件的字符串。

语法

grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]

19 head 功能说明  先是文件的前几行(默认 10 行)。

 语法

head [options] [files]

20 Less  功能说明  less 命令的功能几乎和 more 命令一样,也是用来按页显示文件,不同之处在于 less 命令在显示文件时允许用户既可以向前又可以向后翻阅文件。同时因为 less 并未在一开始就读入整个档案,因此在遇上大型档案的开启时,会比一般的文书编辑器(如 vi)来的快速。

 语法

less [options] [filename]

21 ln 功能说明  连接文件或目录。

 语法

ln [-bdfinsv][-S <字尾备份字符串>][-V <备份方式>][--help][--version][源文件或目录][目标文件或目录]或 ln [-bdfinsv][-S <字尾备份字符串>][-V <备份方式>][--help][--version][源文件或目录...][目的目录]

22 locate 功能说明  查找文件。

 语法

locate [-d <数据库文件>][--help][--version][范本样式...]

23 ls 功能说明  列出目录内容。

 语法

ls [-1aAbBcCdDfFgGhHiklLmnNopqQrRsStuUvxX][-I < 范本样式>][-T < 跳格字数>][-w < 每列字符

数>][--block-size=<区块大小>][--color=<使用时机>][--format=<列表格式>][--full-time][--help][--indicator-style=<标注样式>][--quoting-style=< 引号样式>][--show-control-chars][--sort=< 排序方式>][--time=< 时间戳记>][--version][文件或目录...]

24 mkdir 功能说明  建立目录

1.24.2 语法

mkdir [-p][--help][--version][-m <目录属性>][目录名称]。

25 more 功能说明

 语法

more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]

.26 mv 功能说明  移动或更名现有的文件或目录。

 语法

mv [-bfiuv][--help][--version][-S <附加字尾>][-V <方法>][源文件或目录][目标文件或目录]

.27 od 功能说明  输出文件内容。

 语法

od [-abcdfhilovx][-A <字码基数>][-j <字符数目>][-N <字符数目>][-s <字符串字符数>][-t <输出格式>][-w <每列字符数>][--help][--version][文件...]

28 pwd 功能说明 显示工作目录。

语法

pwd [--help][--version]

29 rename 功能说明  文件批量改名。

 语法

rename from to file

30 rm 功能说明  删除文件或目录。

 语法

rm [-dfirv][--help][--version][文件或目录...]

31 rmdir 功能说明  删除目录。

 语法

32 sed 功能说明  利用 script 来处理文本文件。

语法

33 sort

功能说明

将文本文件内容加以排序。

34 tail 功能说明  查看文件的后 N 行,有实时监控的功能。

 语法

tail [ -f ] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [ File ]

或者tail [ -r ] [ -n Number ] [ File ]tail 止!

35 touch 功能说明  改变文件或目录时间。

语法

touch [-acfm][-d < 日期时间>][-r < 参考文件或目录>][-t < 日期时间>][--help] [--version][ 文件或目录...] 或 touch [-acfm][--help][--version][日期时间][文件或目录...]

36 uniq 功能说明  检查及删除文本文件中重复出现的行列。

 语法

37 wc  功能说明计算字数。

语法

wc [-clw][--help][--version][文件...]

二:bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。

bash 的命令执行结果状态有两种:

成功/失败, bash使用特殊变量$?来保存最近一条命令的执行状态结果。0为成功,1-255代表各种失败。

bash的命令行展开:用{}表示可承载一个以逗号分隔的列表,并将其展开为多个路径

如:/tmp/{a,b}=/tmp/a, /tmp/b

/tmp/{a,b}/c= /tmp/a/c, /tmp/b/c

三:请使用命令行展开功能来完成以下练习:

(1)、创建/tmp目录下的:a_c, a_d, b_c, b_d

 [[email protected] ~]# mkdir /etc/mylinux/{a,b}_{c,d}

 [[email protected] ~]# ls /etc/mylinux 输出:a_c  a_d  b_c  b_d

(2)、创建/tmp/mylinux目录下的:

mylinux/

├── bin

├── boot

│   └── grub

├── dev

├── etc

│   ├── rc.d

│   │   └── init.d

│   └── sysconfig

│       └── network-scripts

├── lib

│   └── modules

├── lib64

├── proc

├── sbin

├── sys

├── tmp

├── usr

│   └── local

│       ├── bin

│       └── sbin

└── var

├── lock

├── log

└── run


mkdir -p /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var,lock,log,run}

注:{}内逗号后不能有空格

四:文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。


1) access time :访问时间

 modify time :修改时间

 change time :改变时间

 (2)查看:

[[email protected] ~]# stat /etc/test1

最近访问:2016-08-13 16:06:27.935461222 +0800

最近更改:2016-08-13 16:04:20.008453386 +0800

最近改动:2016-08-13 16:04:20.008453386 +0800

(3)修改文件的时间戳的信息

touch:使用格式:touch [OPTION]... FILE...

(1)[[email protected] ~]# touch /etc/test1

[[email protected] ~]# stat /etc/test1

最近访问:2016-08-13 16:20:55.848514387 +0800

最近更改:2016-08-13 16:20:55.848514387 +0800

最近改动:2016-08-13 16:20:55.848514387 +0800

(2)-a: only atime

[[email protected] ~]# touch -a /etc/test1

[[email protected] ~]# stat /etc/test1

最近访问:2016-08-13 16:23:48.959524991 +0800

最近更改:2016-08-13 16:20:55.848514387 +0800

最近改动:2016-08-13 16:23:48.959524991 +0800

(3)-m: only mtime

[[email protected] ~]# touch -m /etc/test1

[[email protected] ~]# stat /etc/test1

最近访问:2016-08-13 16:23:48.959524991 +0800

最近更改:2016-08-13 16:26:48.702536001 +0800

最近改动:2016-08-13 16:26:48.702536001 +0800

              

 

(4)-t STAMP:[[CC]YY]MMDDhhmm[.ss]

[[email protected] ~]# touch -t 201608131929.55 /etc/test1

[[email protected] ~]# stat /etc/test1

最近访问:2016-08-13 19:29:55.000000000 +0800

最近更改:2016-08-13 19:29:55.000000000 +0800

最近改动:2016-08-13 16:34:30.966564318 +0800

五、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?

 (1)定义一个命令的别名

  [[email protected] ~]# alias cdnet=‘cd /etc/sysconfig/network-scripts‘

    (2)在命令中引用另一命令的执行结果:

   [[email protected] ~]# alias cdnet=‘cd /etc/sysconfig/network-scripts‘

   [[email protected] ~]# cdnet

   [[email protected] network-scripts]# 

六、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。

find /var/ -maxdepth 1 -name "l*[0-9]*[a-z]"

七、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。

ls /etc/[[:digit:]]*[^[:digit:]]

八、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。

ls /etc/[^[:alpha:]][[:alpha:]]*

九、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-08-06-09-32-22。

[[email protected] ~]# name=‘tfile‘-$(date +%Y-%m-%d-%H-%M-%S)

       [[email protected] ~]# mkdir /tmp/mytest3/$name


十、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。

 ls /etc/ | grep "^p[^0-9]*$" | xargs -i cp -r {} /tmp/mytest1

十一、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。

cp -r /etc/*.d /tmp/mytest2

十二、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。

[[email protected] ~]# mkdir -p /tmp/mytest3

[[email protected] ~]# cp /etc/[lmn]*.config /tmp/mytest3

输出:cp: 无法获取"/etc/[lmn]*.config" 的文件状态(stat): 没有那个文件或目录






本文出自 “11982172” 博客,转载请与作者联系!

以上是关于Linux的主要内容,如果未能解决你的问题,请参考以下文章

linux打开终端如何启动scala,如何在终端下运行Scala代码片段?

Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段

linux中怎么查看mysql数据库版本

-bash: /usr/bin/ls: /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory(代码片段

text Debian linux片段

markdown 我的linux片段为RHCSA