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][文件或目录...]
6 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 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段
-bash: /usr/bin/ls: /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory(代码片段