1、mkdir
mkdir命令用来创建目录。该命令创建由dirname命名的目录。如果在目录名的前面没有加任何路径名,则在当前目录下创建由dirname指定的目录;如果给出了一个已经存在的路径,将会在该目录下创建一个指定的目录。在创建目录时,应保证新建的目录与它所在目录下的文件没有重名。
注意:在创建文件时,不要把所有的文件都存放在主目录中,可以创建子目录,通过它们来更有效地组织文件。最好采用前后一致的命名方式来区分文件和目录。例如,目录名可以以大写字母开头,这样,在目录列表中目录名就出现在前面。
在一个子目录中应包含类型相似或用途相近的文件。例如,应建立一个子目录,它包含所有的数据库文件,另有一个子目录应包含电子表格文件,还有一个子目录应包含文字处理文档,等等。目录也是文件,它们和普通文件一样遵循相同的命名规则,并且利用全路径可以唯一地指定一个目录。
make directorys 创建目录
例子: mkdir /data
( 在根/下创建data目录。)
例子:mkdir -p src/c++
(加上-p 之后可以同时创建子目录,这个例子就是 在当前目录下创建src目录并且在src目录里带着c++目录)
-m (设置目录权限)3mkdir ==> make DIRectory
Usage :mkdir [OPTION]...DIRECTORY...
Create the DIRECTORY(ies), if they do not already exist.
-p :递归创建目录
-v:查看创建目录过程(新手看)
2、ls
ls命令用来显示目标列表,在Linux中是使用率较高的命令。ls命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件。
(lisr)ls命令用语显示指定目录或当前目录的文件(列表) 列表目录文件
例子 : ls / 列根/目录下目录和文件。
-l:(long) 长格式,也就是更加详细的显示当前目录
-d:(directorys)查看目录
-a: 列出所有文件,包括文件名首字符为句点‘.’的隐藏文件。
-A: 类似于‘-a’选项,但禁止输出当前目录“." 和父目录"..”。
-t: 按修改时间排序,
-r:反转排序,倒序。
--color=auto: 显示颜色,
3、cd
cd命令用来切换工作目录至dirname。
其中dirName表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的home
directory(也就是刚login时所在的目录)。另外,~也表示为home
directory的意思,.则是表示目前所在的目录,..则表示目前目录位置的上一层目录。
change directory 改变目录路径
例子:
cd /etc
切换到 /etc目录下
4、 pwd
pwd命令以绝对路径的方式显示用户当前工作目录。命令将当前目录的全路径名称(从根目录)写入标准输出。全部目录使用/分隔。第一个/表示根目录,最后一个目录是当前目录。执行pwd命令可立刻得知您目前所在的工作目录的绝对路径名称。
print work directory 打印工作目录 (显示当前所在路径)
查看当前所在目录
5、touch
touch命令有两个功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用来创建新的空文件。
创建文件或更新文件的时间戳,如果文件不存在,就建立新文件,如果存在,就改变文件的访问时间atime等时间戳信息。
例子:创建新文件
touch oldboy.txt
touch a.txt b.txt
touch {a..l}.txt
更新旧文件的时间戳
touch -a oldboy.txt
touch -m oldboy.txt
stat 命令可查看文件创建时间和修改时间
-m :改变访问时间和修改时间
-a: 改变修改时间
6、vi
vi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器。Linux中的vi编辑器叫vim,它是vi的增强版(vi Improved),与vi编辑器完全兼容,而且实现了很多增强功能。
相当于windows记事本,简单。
例子:vi oldboy.txt
a.进入编辑器之后,按a或i进入编辑模式。
b.编辑完成之后按Eac退出编辑模式
c.:wq (w保存)(q退出)
![此处输入图片的描述][1]
7、vim
复杂编辑器 功能复杂,高亮提示,自动缩进(写shell/python 脚本用)
8、 echo
echo命令用于在shell中打印shell变量的值,或者直接输出指定的字符串。linux的echo命令,在shell编程中极为常用,
在终端下打印变量value的时候也是常常用到的,因此有必要了解下echo的用法echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。
打印输出内容,配合”>或>>“可以为文件覆盖和追加内容,还有一个较复杂不常用的类似命令printf.
例子:echo oldboy >a.txt
把 oldboy 写入 a.txt
例子:echo {1..10}
配合大括号可以打印序列。
9、cat
cat命令连接文件并打印到标准输出设备上,cat经常用来显示文件的内容,类似于下的type命令。
注意:当文件较大时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容。因此,一般用more等命令分屏显示。为了控制滚屏,可以按Ctrl+S键,停止滚屏;按Ctrl+Q键可以恢复滚屏。按Ctrl+C(中断)键可以终止该命令的执行,并且返回Shell提示符状态。
查看文件内容
[[email protected] oldboy]# cat -n nginx.conf
-n :显示行号
例子: cat oldboy.txt
查看oldboy.txt 文件内容。
10、xargs
是给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具。它擅长将标准输入数据转换成命令行参数,xargs能够处理管道或者stdin并将其转换成特定命令的命令参数。xargs也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行。xargs的默认命令是echo,空格是默认定界符。这意味着通过管道传递给xargs的输入将会包含换行和空白,不过通过xargs的处理,换行和空白将被空格取代。xargs是构建单行命令的重要组件之一。
从标注输入获取内容创建和执行命令
-n 数字, 分组.
11、cp
cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。
copy 拷贝文件或目录,默认不能拷贝目录,。
-r :递归,用于复制目录:
-a :相当于 -pdr,
-p:连同档案的属性一起复制过去,而非使用默认属性:
12、 rm
rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。
注意:使用rm命令要格外小心。因为一旦删除了一个文件,就无法再恢复它。所以,在删除文件之前,最好再看一下文件的内容,确定是否真要删除。rm命令可以用-i选项,这个选项在使用文件扩展名字符删除多个文件时特别有用。使用这个选项,系统会要求你逐一确定是否要删除。这时,必须输入y并按Enter键,才能删除文件。如果仅按Enter键或其他字符,文件不会被删除。
remove 删除目录和文件
-f (force)强制
-r(recursive)递归,用于删除目录
强调:删除命令要慎用,非常危险,删除前一定要先备份一份。
13、 mv
move 用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中
注意事项:mv与cp的结果不同,mv好像文件“搬家”,文件个数并未增加。而cp对文件进行复制,文件个数增加了。
实例:将文件ex3改名为new1
mv ex3 new1
将目录/usr/men中的所有文件移到当前目录(用.表示)中:
mv /usr/men/* .
14、*(五星级命令)find
find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。
查找
-type 文件类型
根据文件类型进行搜索
find . -type 类型参数类型参数列表:
f 普通文件
l 符号连接
d 目录
c 字符设备
b 块设备
s 套接字
p Fifo
根据文件大小进行匹配
find . -type f -size 文件大小单元文件大小单元:
b —— 块(512字节)
c —— 字节
w —— 字(2字节)
k —— 千字节
M —— 兆字节
G —— 吉字节
搜索大于10KB的文件
find . -type f -size +10k
搜索小于10KB的文件
find . -type f -size -10k
搜索等于10KB的文件
find . -type f -size 10k
删除匹配文件删除当前目录下所有.txt文件
find . -type f -name "*.txt" -delete
根据文件时间戳进行搜索
find . -type f 时间戳UNIX/Linux文件系统每个文件都有三种时间戳:
访问时间(-atime/天,-amin/分钟):
用户最近一次访问时间。
修改时间(-mtime/天,-mmin/分钟):
文件最后一次修改时间。
变化时间(-ctime/天,-cmin/分钟):
文件数据元(例如权限等)最后一次修改时间。
搜索最近七天内被访问过的所有文件
find . -type f -atime -7
搜索恰好在七天前被访问过的所有文件
find . -type f -atime 7
搜索超过七天内被访问过的所有文件
find . -type f -atime +7
搜索访问时间超过10分钟的所有文件
find . -type f -amin +10
找出比file.log修改时间更长的所有文件
find . -type f -newer file.log
+7 7天以前 , 7 第7天, -7 最近7天。
15、*(五星级命令)grep
grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
linux三剑客老三 过滤需要的内容,
-v 排除内容例子:
grep -v oldboy test.txt
例子:-V 后面接要排除的内容。
grep命令常见用法在文件中搜索一个单词,命令会返回一个包含“chenbaojia1”的文本行:
grep chenbaojia1 chen(文件名)
grep "chenbaojia1" chen(文件名)
在多个文件中查找:
grep "chenbaojia" chen chen1 chen2...
打印出匹配文本之前或者之后的行:
#显示匹配某个结果之后的3行,使用 -A 选项:
seq 10 | grep "5" -A 35678
#显示匹配某个结果之前的3行,使用 -B 选项:
seq 10 | grep "5" -B 32345
#显示匹配某个结果的前三行和后三行,使用 -C 选项:
seq 10 | grep "5" -C 32345678
#如果匹配结果有多个,会用“--”作为各匹配结果之间的分隔符:
echo -e "a\nb\nc\na\nb\nc" | grep a -A 1ab--ab
grep 25 -C 5 ett.txt (显示25行并且执行显示前后5行。)
-B 除了显示匹配的一行外,并显示该行之前的n行
-A 除了显示匹配的一行外,并显示该行之后的n行。
-C 除了显示匹配的一行外,并显示该行前后各n行。
--color=auto: 对过滤的匹配字符串加颜色。
-n :对匹配的内容打印行号
16、head
head命令用于显示文件的开头的内容。在默认情况下,head命令显示文件的头10行内容。
头,头部 读取文件的前n行,默认前十行, -n 数字, 习惯-5,忽略-n。
意思就是直接- 后面加数字即可。
-n<数字>:指定显示头部内容的行数; -c<字符数>:指定显示头部内容的字符数; -v:总是显示文件名的头信息; -q:不显示文件名的头信息。
17、tail
tail命令用于输入文件中的尾部内容。tail命令默认在屏幕上显示指定文件的末尾10行。如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。如果没有指定文件或者文件名为“-”,则读取标准输入。
注意:如果表示字节或行数的N值之前有一个”+”号,则从文件开头的第N项开始显示,而不是显示文件的最后N项。N值后面可以有后缀:b表示512,k表示1024,m表示1 048576(1M)。
尾,尾部 输出文件的后n行,默认后十行,-n 数字,习惯-5,忽略-n.
18、alias
alias命令用来设置指令的别名。我们可以使用该命令可以将一些较长的命令进行简化。使用alias时,用户必须使用单引号‘‘将原来的命令引起来,防止特殊字符导致错误。
alias命令的作用只局限于该次登入的操作。若要每次登入都能够使用这些命令别名,则可将相应的alias命令存放到bash的初始化文件/etc/bashrc中。
查看和设置别名 例子:查看别名 直接输入 alias,设置别名 alias cp=‘cp -i‘
19、unalias
unalias命令用来取消命令别名,是为shell内建命令。如果需要取消任意一个命令别名,则使用该命令别名作为指令的参数选项即可。如果使用-a选项,则表示取消所有已经存在的命令别名。
取消别名 unalias cp
20、seq
seq命令用于产生从某个数到另外一个数之间的所有整数。
sequence 序列 seq 1 2 100 (第一个数字1是表示从1开始,第二个数字2表示间隔是2,第三个数字是表示结尾。
头尾 中间的数字是间隔 的意思。 seq 头 间隔 尾
21、sed stream editor
sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern
space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有
改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。
Linux三剑客老二,流编辑器,实现对文件的增删改替换查。
参数:
-s 指定分隔符。
-n 取消默认输出,按照规则打印想要的内容, -i :修改文件内容
-e :允许多项编辑
功能:
p 打印
g与s联合使用时,表示对当前行全局匹配替换,
只打印20到30 例子:
[[email protected] oldboy]# sed -n ‘20,30‘p c.txt
20
21
22
23
24
25
26
27
28
29
30
s 常说的查找并替换,用一个字符串替换成另一个。
sed -i ‘s#oldboy#oldgirl#g‘ a.txt
是分隔符,当然也可以使用/@等替换。
22、awk
awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入(stdin)、一个或多个文件,或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它在命令行中使用,但更多是作为脚本来使用。awk有很多内建的功能,比如数组、函数等,这是它和C语言的相同之处,灵活性是awk最大的优势。
过滤,输出内容,一门语言。NR 代表 行号。
打印20到30的例子:
[[email protected] oldboy]# awk ‘NR>19&&NR<31‘ c.txt
20
21
22
23
24
25
26
27
28
29
30
23、 tree命令
tree命令以树状图列出目录的内容。
最小化安装是没有这个命令的
yum -y install tree
进行安装
tree -L 2
-L 表示自定义显示层级 需要显示几层就在后面带数字即可。
tree -dL 2
默认显示所有的文件。
-d 只显示目录结构,(普通文件不会显示)这些参数都可以配合使用的。
-a: 显示隐藏文件
-f:Print the full path prefix for each file.(打印每个文件的完整路径前)
tree -dLfi 2
-i:不会显示前面那么多横线。也就是树枝
-F :目录的就有斜线。
24、 install命令
目录基本操作
install命令的作用是安装或升级软件或备份数据,它的使用权限是所有用户。install命令和cp命令类似,都可以将文件/目录拷贝到指定的地点。但是,install允许你控制目标文件的属性。install通常用于程序的makefile,使用它来将程序拷贝到目标(安装)目录。
25、useradd
useradd命令用于Linux中创建的新的系统用户。useradd可用来建立用户帐号。
使用useradd指令所建立的帐号,实际上是保存在/etc/passwd文本文件中。
添加用户
26、passwd
passwd命令用于设置用户的认证信息,包括用户密码、密码过期时间等。系统管理者则能用它管理系统用户的密码。只有管理者可以指定用户名称,一般用户只能变更自己的密码。
为用户设置活修改密码。
例子:passwd oldboy
为oldboy设置修改密码,直接passwd 是当前用户修改密码。
例子2:非交互式更改密码
echo "123456(密码)"|passwd --stdin oldboy(用户名)
27、uname
uname命令用于打印当前系统相关信息(内核版本号、硬件架构、主机名称和操作系统类型等)。
a或--all:显示全部的信息; -m或--machine:显示电脑类型32or64
-n或-nodename:显示在网络上的主机名称;
也相当于hostname 命令。
28、hostname
hostname命令用于显示和设置系统的主机名称。
环境变量HOSTNAME也保存了当前的主机名。在
使用hostname命令设置主机名后,系统并不会永久保存新的主机名,重新启动机器之后还是原来的主机名。
如果需要永久修改主机名,需要同时修改/etc/hosts和/etc/sysconfig/network的相关内容。
29、runlevel
查看当前系统运行级别
30、 init
(带运行级别数字即可切换运行级别)
例如:init 6 就是重启Linux服务器了。
31、shutdown (halt、init 0)
关机(shutdown -h now )
32、reboot(init 6) shutdown -r now
重启
33、history
export HISTFILESIZE=5
(把历史记录调短)
查看及清理历史记录
-c 清空所有,
-d 删除指定历史记录。
34、dmseg
命令可以查看系统故障信息。
35、ifup和ifdown
启动和停止网卡。可以接网卡名 ifup eth0
36、nl
nl -number lines 显示行号
37、less
和more相反 回车一次一行,空格向下一次一屏,按b可以一次回退一屏。
38、more
按页一次一屏。回车一次一行,空格一次一屏。不能回退。