linux常用命令
创建一个目录
mkdir 命令可以创建新目录。mkdir 是 make directory 的缩写。
[root@iZ2ze66tzux2otcpbvie88Z ~]# ls
[root@iZ2ze66tzux2otcpbvie88Z ~]# mkdir web
[root@iZ2ze66tzux2otcpbvie88Z ~]# ls
web
[root@iZ2ze66tzux2otcpbvie88Z ~]#
创建一个文件
2.1 在 Linux 上使用重定向符(>)创建一个文件
准重定向符允许我们创建一个 0KB 的空文件。它通常用于重定向一个命令的输出到一个新文件中。在没有命令的情况下使用重定向符号时,它会创建一个文件。
但是它不允许你在创建文件时向其中输入任何文本。然而它对于不是很勤劳的管理员是非常简单有用的。只需要输入重定向符后面跟着你想要的文件名。
2.2 在 Linux 上使用 touch 命令创建一个文件
touch 命令常用于将每个文件的访问和修改时间更新为当前时间。
如果指定的文件名不存在,将会创建一个新的文件。touch 不允许我们在创建文件的同时向其中输入一些文本。它默认创建一个 0KB 的空文件。
2.3 在 Linux 上使用 echo 命令创建一个文件
echo 内置于大多数的操作系统中。它常用于脚本、批处理文件,以及作为插入文本的单个命令的一部分。它允许你在创建一个文件时就向其中输入一些文本。当然也允许你在之后向其中输入一些文本
移动目录和文件
3.1 移动文件
单纯地移动某一个文件直接使用: mv <源文件名称/地址> <新文件名称/地址>,
可以看出,这个方法也可以用来 修改文件的名称。
将该路径下的aa.txt移动到web2文件夹中
将改路径下的aa.txt修好为bb.txt
3.2 移动文件夹(目录)下的内容
如要移动某个文件夹下的
某个内容:mv <目录地址1/xxx> <目录地址2>,即可移走xxx内容
所有内容:mv <目录地址1/*> <目录地址2> ,或者直接使用mv <目录地址1/> <目录地址2>,便可移动目录地址1下的所有内容
所有带.txt后缀的内容:mv <目录地址1/*.txt> <目录地址2>,即可移走所有的TXT文档
3.3 移动文件夹(目录)以及文件夹下的内容
如果要移动文件夹的内容以及文件夹本身: mv <目录地址1 > <目录地址2/>,即文件夹目录地址后面加上 /即可!
认识路径
一般情况下,在用shell的时候,或者你通过什么方式调用你的应用程序的时候,都要写明被调用的程序路径。路径分为绝对路径和相对路径。
4.1 绝对路径
在Linux中,绝对路径是从 / (也被称为根目录)开始的,比如/usr、/etc/X11。如果一个路径是从/开始的,它一定是绝对路径,这样就好理解了。
[root@localhost ~]# cd /usr/share/doc/ 注:使用绝对路径进入doc目录
[root@localhost doc]# pwd 注:判断用户当前所处的位置
4.2 相对路径
在Linux中相对路径的使用相对于绝对路径来说是比较复杂的,在Linux路径中经常会一些特殊符号, 这些符号是用来表示相对路径的。
. 表示用户所处的当前目录
.. 表示上级目录
~ 表示当前用户自己的home目录
~USER 表示用户名为USER的家目录,这里的USER是在/etc/passwd中存在的用户名
使用“../”来表示上一级目录,“../../”表示上上级的目录,以此类推。
删除目录/文件
在LINUX中,经常要删除文件,大多时候使用rm命令就足以应付了,有的时候需要用-f,强制删除,碰到有子目录的时候,需要加-r参数,也就是说,不考虑安全问题,rm -rf filename就可以解决绝大部分问题.先看下rm的一般用法:
删除下面文件中的hello.txt和web2
复制目录/文件
cp 命令主要可用于复制文件或目录。 cp 是单词 copy 的缩写。
6.1 复制文件
所谓的复制文件,就是将一个文件复制到另外一个目录下,其中 source 表示源文件,而 dest 表示目标目录。语法如下:
# 语法cp 源文件 目标目录
将xingixng.txt复制到web目录下
6.2 覆盖文件
当将一个文件或目录复制到另外一个目录下时,如果该目录下已经存在同名文件或目录,那么复制操作就会询问你是否覆盖,如果想要覆盖就回答 y。
6.3 复制目录
通常情况下,待复制的目录都不是空文件夹,如果直接使用 cp 命令进行复制会失败,如果想要把指定目录及该目录下的子文件和子文件夹都复制过去,则需要加上 -r 选项。其中 src 是源目录; dest 表示目标目录。
# 语法cp -r 源目录 目标目录
将web复制到web1,如果web1不存在则自动创建
移动目录/文件
linux中的 移动使用 mv指令。
7.1 移动文件
单纯地移动某一个文件直接使用: mv <源文件名称/地址> <新文件名称/地址>,
可以看出,这个方法也可以用来修改文件名称。
修改web下面的xingxing.txt为aa.txt
7.2 移动文件夹下的内容
如要移动某个文件夹下的
某个内容:mv <目录地址1/xxx> <目录地址2>,即可移走xxx内容
所有内容:mv <目录地址1/*> <目录地址2> ,或者直接使用mv <目录地址1/> <目录地址2>,便可移动目录地址1下的所有内容
所有带.txt后缀的内容:mv <目录地址1/*.txt> <目录地址2>,即可移走所有的TXT文档
7.3 移动文件夹(目录)以及文件夹下的内容
如果要移动文件夹的内容以及文件夹本身: mv <目录地址1 > <目录地址2/>,即文件夹目录地址后面加上 /即可!
将web1移动到web目录下
重命名目录/文件
在Linux下重命名文件或目录,可以使用mv命令或rename命令,这里分享下二者的使用方法。
mv命令既可以重命名,又可以移动文件或文件夹。
将目录web1重命名为app
将文件aa.txt重命名为app.txt
查看文件内容
9.1 查看文件类型
file命令: 能够探测文件的内部,并决定文件是什么类型的。
用法:file [path]my_file
my_file如果是目录,file命令会显示 "my_file : directory"。如果是文本文件,会显示"my_file: 文件的字符编码 text"。如果是符号链接的文件,会告诉你它链接到哪个文件上。如果是二进制可执行程序,file命令能够确定该程序编译时所面向的平台以及需要何种类型的库。
9.2 查看整个文件
⑴ cat 命令
用法:cat [文件列表]
参数:-n 或 --number:由 1 开始对所有输出的行数编号
-v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
-E 或 --show-ends : 在每行结束处显示 $。
-T 或 --show-tabs: 将 TAB 字符显示为 ^I。
-A, --show-all:等价于 -vET。
⑵ more 命令
用法:more [+数字] [-数字] file
以全屏幕的方式按页显示文本文件的内容,如果带上了参数 '+数字' 表示从该行开始显示,参数 '-数字'指定每屏显示的行数。Enter向下滚动一行,空格或f 向下滚动一屏,b向上滚动一屏,q退出。
⑶ less 命令
less指令是基于more指令和vi指令实现的,更可以使用"前后左右"来查看文件内容,用PageUp键向上翻页,用PageDown键向下翻页,=输出文件名和当前行的行号等信息。
在使用less指令查看文件内容时,如果希望不退出less指令就能够执行shell中的其他指令,可以使用 "!command"的方式,直接执行指令,执行结束后自动返回less指令。
指令运行过程中,按"h"键显示less的快捷键帮助。
可以在":"提示符下输入查找的关键字(先输入/,后输入关键字,最后回车),以实现快速定位
9.3 查看部分文件
⑴ tail 命令
用于输出文件中的尾部内容。
⑵ head 命令
用法:head [选项] [文件列表]
用于显示文件的开头部分的内容。
参数-n<行数>指定显示头部内容的行数,默认10行;-c<字符数>指定显示头部内容的字符数。
9.4 处理文件
1、创建空文件
touch命令:touch new_file
2、过滤文件内容
⑴ grep 命令
用法:grep [选项] [匹配模式] file
按照某种匹配规则搜索指定的文件,并将符合匹配条件的行输出。
选项:-v搜索不含指定字符串的行,-x整行匹配,-c 统计符合匹配模式的行数,-E 用来扩展选项为正则表达式。
⑵ cut 命令
用法:cut [选项] [文件]
指令显示行中指定部分,删除文件中的指定字段。
选项: [-d “分隔符”]指定字段的分隔符,默认的字段分隔符为"TAB"。
[-f 起始字段位置-结束字段位置]显示指定的字段内容,第一个字段就是1。只显示一个字段时,直接写相应的位置即可。
3、统计文件内容
wc命令:wc [选项] [文件列表]
统计文件的行数、单词数和字符数。
选项:-l 打印总行数。
注意:在windows下,文件的最后一行不会自动添加换行符。用wc统计的时候,会发现比实际少了一行。使用换行符‘\n’作为行结束标志,实际是统计换行符个数。
4、对文件内容进行排序
sort命令:sort [选项] [文件列表]
-c检查文件是否已经按照顺序排序;
-n按照数值的大小排序;
-o<输出文件>:将排序后的结果存入指定的文件;
-t<分隔字符>:指定排序时所用的栏位(列)分隔字符(如果分隔字符是制表符,放在字符串中时,正常写即可,否则,在前面加上$);
-r是以相反顺序;
-u在输出行中去除重复行(只考虑用来排序的行);
-b会忽略每一行前面的所有空白部分,从第一个可见字符开始比较;
-k<start,end>:指定需要排序的列,start和end都是数字,start又分为3个部分(选项[bdfinr]、排序列、开始的位置),end默认到本域结束。-k可以出现多次,代表多列排序(第一个是主排序)。数字列如1.2表示对第一个域的第二个字符开始到本域的最后一个字符为止的字符串进行排序;1.2,1.2表示只按第一个域的第二个字符进行排序;
sort将文件/文本的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。
使用vi简单编辑文本
压缩与解压缩
11.1 压缩一个文件
将app.txt压缩为app.txt.gz
将love.txt压缩为love.tar
将hello.txt压缩为hello.tar.gz文件
11.2 解压一个文件
将1.txt.gz解压成1.txt
将love.tar解压成love.txt
将hello.tar.gz解压缩成hello.txt
系统常用命令
12.1 top命令
top命令显示系统所有动态进程
top -pPID 显示指定进程编号的进程信息
top -d10 每隔10秒显示进程变化
top -n3 更新3次进程变化后结束进程
top -i 显示正在运行,正在执行的进程
12.2 free命令
显示内存使用情况
free -h 系统自动按照合适单位统计内存使用情况
MEM 物理内存
swap 虚拟内存(swap交换分区)
total:总数
used:已使用
free:剩余的
shared:共享的
buffers:缓存的
cached:缓冲的
12.3 free命令
查看磁盘试用情况
df -h 系统自动按照合适单位统计内存使用情况
df -T 显示磁盘的文件系统类型
df -t 文件名 显示指定文件类型的磁盘信息
12.4 ps(命令)
静态显示系统中的所有进程,显示正在执行的进程
ps -A/e 显示系统中所有进程
ps -u 用户名 显示指定用户的所有进程 eg:ps -u root
ps -aut 显示进程信息