linux的一些简单命令
2016-07-24 14:56
916 查看
这里只是列出实际中使用频率较高的,可以通过 man 命令或者 命令 –help 来查看更为详细的内容
-a all 列出所有的文件 包括隐藏文件 [eg ls -a /home]
-l 列出详细的文件信息 可以简写为ll filename [eg: ls -l /home or ll /home ]
-h –human-readable 将文件的大小通过字节的方式列出来
-R 递归显示出该目录所有的文件
-d 只显示本文件下面
可以通过 man ls 查看更为详细的命令
2:【cd命令】 cd [option] ..[dir]
eg cd /home
3:[mkdir 命令] mkdir [OPTION]… DIRECTORY…
-p 在创建文件时,当目标目录的上层目录不存在时创建,,如果这些目录已存在也不会当做错误处理;eg:mkdir -p /a/b/c
-v –verbose 打印创建目录是的详情
-m 设置权限 eg mkdir -m 700 -p -v /a/b/c 在创建目录的同时也设置目录的权限为700
4:【rmdir】 删除空目录
- -p rmdir -p /a/b/c 相当于rmdir a/b/c a/b a 假如某一级目录不空,则命令执行会失败,注意隐藏文件߄ 这个命令会先从最深的一层目录删起
5:【tree】 查看目录树
6:【 touch】文件的创建和删除
7:【stat】查看文件的信息
8:【rm】 删除文件
-i:删除文件之前确认
-f 删除文件之前不确认
-r 递归删除
eg:rm -rf a.txt
注意:在实际的工作中一定要注意,文件的删除,尽量少的使用这个命令,一般删除前,重要文件先备份
9:【cp】 copy 复制
-i 如果文件存在,再覆盖之前会进行确认
-a 归档复制,常用语备份,保持文件的原有属性
可以同时复制多个文件 到一个目录下面
eg:cp file1 file2 file /tmp
eg2 cp /etc/{passwd,inittab} /tmp 把etc文件夹下面的passwd文件和initable文件复制到 /tmp目录下面
10【mv】 move 移动文件 mv 源文件 目标路径
eg mv /etc/passwd /tmp 把/etc/passwd 文件移动到/tmp目录下
eg2:mv/etc/passed /tmp/pd 把/etc/passwd 文件移动到/tmp目录下,并改名为pd
11【cat】 连接显示文件
12 【more | less】 翻屏
13 【tail | head 】 显示文件的尾部或者头部
14 【文件重定向命令】
首先要理解三个概念
标准输入 stdin 键盘鼠标的输入等被称为标准输入
标准输出 stdout
标准错误输出 stderr
管道 :是把前一个命令的标准输出作为下一个命令的标准输入
> 输出重定向,把标准输入重定向
>> 追加重定向
cat < 输出重定向
eg cat a.txt > b.txt 把a.txt中的内容重定向【写入】到b.txt中,如果b.txt中原来就有内容,则会被覆盖
eg2:cat a.txt >> b.txt 追加到b.txt原本内容的末尾
eg3: cat > a.txt < b.txt 先从b.txt中读取内容,再重定向到a.txt中
-d :指定字段分割符,默认是空格
-f : 指定要显示的字段
-f 1,3 显示分割后的1和3字段
-f 1-3 显示分割后的1 到3 字段
eg cut -d: -f 1,7 /etc/passwd
16【sort】 排序
-n 按数字排序 默认是按照ascii码排序的
-t 字段分割符
-r 降序排
-u 去重
k 以哪个关键字排序
eg : sort -t “:” -k4 -n -r /etc/passwd 以:为分隔符,第四个作为排序的关键字,按数字倒序
eg2: cut -d: -f7 /etc/passwd | sort -u
17【wc】 文本统计
-l :统计行数
-w:统计单词数
-c :统计字节数
-L:打印最长行长度
eg1:wc -l /etc/passwd
eg2:cut -d: -f7 passwd | sort -u | wc -l
18【sed】行编辑器,默认不编辑源文件
-n 不显示到屏幕上,也不改变源文件 ,基本没啥用
-e 同时执行多个文本
-p 显示符合条件的行
-i 修改源文件
s/pattern/string/修饰符:查找并替换,默认只替换每行中的第一次被模式匹配到的字符串,加修饰符g:全局替换,i:忽略字符大小写
-r 使用扩展的正则表达式
这里使用了正则表达式,如果对正则表达式不熟,自学一下正则表达式
eg:删除/etc/inittab文件中行首的空白符
sed -r ‘s@^[[:space:]]+@@g’ /etc/inittab: -r 表示使用扩展的正则表达式 引号中的s 表示查找并替换;@符可以自定义,表示@后面跟的是正则表达式:^[[:space:]]+ 则表示以一个或多个空格开头 使用@@之间的字符替换,这里@@之间什么也没有 就等同于删除行首空白符;最后一个g表示全局替换
eg2:替换/etc/inittab 文件中的 ” id:3:initdefault:” 中的数字改为5,为了看清楚这里使用了 tail -1 把最后一行展示出来
eg3:删除c.txt中的空行
eg4:删除c.txt中的空白行【注意不是空行】
eg5:删除c.txt中的空行,和空白行
19【awk】是一个庞大的文本处理工具,自成体系,可以编程
-F 格式分割符
内置变量
-NF 当前记录中字段的个数
NR 已读的记录数
OFS 输出域分隔符
awk -F”格式分割符” ‘{执行的具体操作}’
eg:统计/etc/passwd 中的账户人数
eg2:显示/etc/passwd的账户
eg3:使用if else
linux中的其他命令
查看进程命令
ps -aux
netstat -ntpl
ss -tanlp
yum install lrzsz 一个支持快速windons和linux主机间进行文件上传和下载的命令
文件有关的
1:【ls命令】 ls [option] …[file]…-a all 列出所有的文件 包括隐藏文件 [eg ls -a /home]
-l 列出详细的文件信息 可以简写为ll filename [eg: ls -l /home or ll /home ]
-h –human-readable 将文件的大小通过字节的方式列出来
-R 递归显示出该目录所有的文件
-d 只显示本文件下面
可以通过 man ls 查看更为详细的命令
2:【cd命令】 cd [option] ..[dir]
eg cd /home
3:[mkdir 命令] mkdir [OPTION]… DIRECTORY…
-p 在创建文件时,当目标目录的上层目录不存在时创建,,如果这些目录已存在也不会当做错误处理;eg:mkdir -p /a/b/c
-v –verbose 打印创建目录是的详情
-m 设置权限 eg mkdir -m 700 -p -v /a/b/c 在创建目录的同时也设置目录的权限为700
4:【rmdir】 删除空目录
- -p rmdir -p /a/b/c 相当于rmdir a/b/c a/b a 假如某一级目录不空,则命令执行会失败,注意隐藏文件߄ 这个命令会先从最深的一层目录删起
5:【tree】 查看目录树
这个命令不是系统自带的需要安装 yum install tree 可以通过 tree /home 以树的形式列出 /home目录下的所有文件
6:【 touch】文件的创建和删除
*touch filename eg touch a.txt*
7:【stat】查看文件的信息
8:【rm】 删除文件
-i:删除文件之前确认
-f 删除文件之前不确认
-r 递归删除
eg:rm -rf a.txt
注意:在实际的工作中一定要注意,文件的删除,尽量少的使用这个命令,一般删除前,重要文件先备份
9:【cp】 copy 复制
-i 如果文件存在,再覆盖之前会进行确认
-a 归档复制,常用语备份,保持文件的原有属性
可以同时复制多个文件 到一个目录下面
eg:cp file1 file2 file /tmp
eg2 cp /etc/{passwd,inittab} /tmp 把etc文件夹下面的passwd文件和initable文件复制到 /tmp目录下面
10【mv】 move 移动文件 mv 源文件 目标路径
eg mv /etc/passwd /tmp 把/etc/passwd 文件移动到/tmp目录下
eg2:mv/etc/passed /tmp/pd 把/etc/passwd 文件移动到/tmp目录下,并改名为pd
11【cat】 连接显示文件
*eg cat/etc/passwd*
12 【more | less】 翻屏
例如 *cat /etc/passwd | more*
13 【tail | head 】 显示文件的尾部或者头部
*head -n 5 /etc/passwd* 显示passwd文件的前五行 *tail -5 /etc/passwd* 显示passwd文件的后五行 *tail -f xx.log* 一般用来查看log文件,显示的是文件尾部,不退出命令,只要有新的日志内容,就会显示出来
14 【文件重定向命令】
首先要理解三个概念
标准输入 stdin 键盘鼠标的输入等被称为标准输入
标准输出 stdout
标准错误输出 stderr
管道 :是把前一个命令的标准输出作为下一个命令的标准输入
> 输出重定向,把标准输入重定向
>> 追加重定向
cat < 输出重定向
eg cat a.txt > b.txt 把a.txt中的内容重定向【写入】到b.txt中,如果b.txt中原来就有内容,则会被覆盖
eg2:cat a.txt >> b.txt 追加到b.txt原本内容的末尾
eg3: cat > a.txt < b.txt 先从b.txt中读取内容,再重定向到a.txt中
文本处理
15【cut】 分割字符串-d :指定字段分割符,默认是空格
-f : 指定要显示的字段
-f 1,3 显示分割后的1和3字段
-f 1-3 显示分割后的1 到3 字段
eg cut -d: -f 1,7 /etc/passwd
[root@node01 test]# cut -d: -f 1,3 /etc/passwd root:0 bin:1 daemon:2 ... ...
16【sort】 排序
-n 按数字排序 默认是按照ascii码排序的
-t 字段分割符
-r 降序排
-u 去重
k 以哪个关键字排序
eg : sort -t “:” -k4 -n -r /etc/passwd 以:为分隔符,第四个作为排序的关键字,按数字倒序
[root@node01 test]# sort -t: -k4 -nr /etc/passwd ttuser5:x:520:520::/home/ttuser5:/bin/bash ttuser4:x:519:519::/home/ttuser4:/bin/bash ttuser3:x:518:518::/home/ttuser3:/bin/bash ttuser2:x:517:517::/home/ttuser2:/bin/bash ... ...
eg2: cut -d: -f7 /etc/passwd | sort -u
[root@node01 test]# cut -d: -f7 /etc/passwd | sort -u /bin/bash /bin/nologin /bin/sync ... ...
17【wc】 文本统计
-l :统计行数
-w:统计单词数
-c :统计字节数
-L:打印最长行长度
eg1:wc -l /etc/passwd
[root@node01 test]# wc -l /etc/passwd 44 /etc/passwd
eg2:cut -d: -f7 passwd | sort -u | wc -l
[root@node01 test]# cut -d: -f7 /etc/passwd | sort -u | wc -l 6
18【sed】行编辑器,默认不编辑源文件
-n 不显示到屏幕上,也不改变源文件 ,基本没啥用
-e 同时执行多个文本
-p 显示符合条件的行
-i 修改源文件
s/pattern/string/修饰符:查找并替换,默认只替换每行中的第一次被模式匹配到的字符串,加修饰符g:全局替换,i:忽略字符大小写
-r 使用扩展的正则表达式
这里使用了正则表达式,如果对正则表达式不熟,自学一下正则表达式
eg:删除/etc/inittab文件中行首的空白符
sed -r ‘s@^[[:space:]]+@@g’ /etc/inittab: -r 表示使用扩展的正则表达式 引号中的s 表示查找并替换;@符可以自定义,表示@后面跟的是正则表达式:^[[:space:]]+ 则表示以一个或多个空格开头 使用@@之间的字符替换,这里@@之间什么也没有 就等同于删除行首空白符;最后一个g表示全局替换
eg2:替换/etc/inittab 文件中的 ” id:3:initdefault:” 中的数字改为5,为了看清楚这里使用了 tail -1 把最后一行展示出来
[root@node01 test]# sed -r 's@(id:)[0-9](:initdefault:)@\15\2@g' /etc/inittab | tail -1 id:5:initdefault:
eg3:删除c.txt中的空行
[root@node01 test]# cat c.txt passwd: Only one user name may be specified. passwd: Only one user name may be specified. passwd: Only one user name may be specified. passwd: Only one user name may be specified. //上面文件中有两个空行 空行和空白行不一行 空白行是指有空格 组成的行,而空行是直接按回车生成的行 //上面的文件3行驶空白行,由空格组成的行,而4,7行才是空行 [root@node01 test]# sed -r '/^$/d' c.txt passwd: Only one user name may be specified. passwd: Only one user name may be specified. passwd: Only one user name may be specified. passwd: Only one user name may be specified.
eg4:删除c.txt中的空白行【注意不是空行】
[root@node01 test]# cat c.txt passwd: Only one user name may be specified. passwd: Only one user name may be specified. passwd: Only one user name may be specified. passwd: Only one user name may be specified. [root@node01 test]# sed -r '/^[[:space:]]+$/d' c.txt passwd: Only one user name may be specified. passwd: Only one user name may be specified. passwd: Only one user name may be specified. passwd: Only one user name may be specified. passwd: Only one user name may be specified. 执行结果是删除了第三行的红白行 而5,7行为空行,不会删除
eg5:删除c.txt中的空行,和空白行
[root@node01 test]# cat c.txt passwd: Only one user name may be specified. passwd: Only one user name may be specified. passwd: Only one user name may be specified. passwd: Only one user name may be specified. [root@node01 test]# sed -r '/^[[:space:]]*$/d' c.txt passwd: Only one user name may be specified. passwd: Only one user name may be specified. passwd: Only one user name may be specified. passwd: Only one user name may be specified.
19【awk】是一个庞大的文本处理工具,自成体系,可以编程
-F 格式分割符
内置变量
-NF 当前记录中字段的个数
NR 已读的记录数
OFS 输出域分隔符
awk -F”格式分割符” ‘{执行的具体操作}’
eg:统计/etc/passwd 中的账户人数
awk -F: '{count++;print $7} END {pring "user count is ", count}' /etc/passwd
eg2:显示/etc/passwd的账户
[root@node01 test]# awk -F: 'BEGIN {count=0;OFS="XXX"}{name[count]= $1;count++};END {for (i=0;i< NR;i++)print i,name[i]}' /etc/passwd;i++)print i,name[i]}' /etc/passwd 0XXXroot 1XXXbin 2XXXdaemon ... ...
eg3:使用if else
# awk 'BEGIN {count=0;FS=":"} {if(NR==6) OFS=OFS"|"; else OFS=OFS"^"; name[count] = $1;print count,name[count++]}' /etc/passwd # awk 'BEGIN {count=0;FS=":"} {if(NR%2==0) OFS=OFS"|"; else OFS=OFS"^"; name[count] = $1;print count,name[count++]}' /etc/passwd # awk 'BEGIN {count=0;FS=":"} {if(NR%2) OFS=OFS"|"; else OFS=OFS"^"; name[count] = $1;print count,name[count++]}' /etc/passwd
linux中的其他命令
查看进程命令
ps -aux
netstat -ntpl
ss -tanlp
yum install lrzsz 一个支持快速windons和linux主机间进行文件上传和下载的命令
相关文章推荐
- Linux socket 初步
- Linux Kernel 4.0 RC5 发布!
- linux lsof详解
- linux 文件权限
- Linux 执行数学运算
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- Ubuntu Linux使用体验
- c语言实现hashmap(转载)
- Linux 信号signal处理机制
- linux下mysql添加用户
- Scientific Linux 5.5 图形安装教程
- Linux 下无损图片压缩小工具介绍