Linux常用命令及输入输出重定向

文件管理命令

1.文件建立

touch file				#建立file文件

注意:
touch不但可以建立文件也可以修改文件的时间戳

stat file				#查看file的时间戳信息

在这里插入图片描述
时间戳分为:
Access:文件内容被访问的时间标识
Modify:文件内容被修改的时间标识
Change:文件属性或文件内容被修改的时间标识

 touch file						#更新file的存取和修改时间
 touch -c file					#如果file不存在,不创建文件
 touch -r file1 file 			#更新file的时间戳和file1相同
 touch -t 0811142234.40 file 	#设定文件的时间戳为08年11月14日22点34分40秒

在这里插入图片描述

2.目录建立

mkdir dir					#建立dir目录
mkdir -p dir1/dir2/dir3		#递归建立目录,-p建立递归目录时,当上层目录不存在时自动建立	

3.文件删除

rm file						#删除file,会提示是否删除
rm -f file					#-f=force 表示强制删除不提示,输入y删除,n取消

在这里插入图片描述

4.目录删除

rm -r directory		#-r标示递归删除,也就是删除目录本身和里面的所有内容
rm -r -f dir		#删除目录不提示
rm -rf dir			#在命令参数使用过程中,-a -b -c =-abc =-bac ,顺序是不需要注意的

5.编辑文件

gedit

gedit file		#必须有图形

在这里插入图片描述
vim
vim file -->按[i]进入insert模式–>书写内容–>按[esc]退出insert模式–>:wq退出保存
注:本文只简单说一下用法,详细的vim使用请看后续文章

6.文件的复制

cp	 file file1		#复制file到file1,file1不存在则新建	
cp -r dir dir1		#复制dir目录到dir1,dir1不存在则新建
cp file file1 dir	#复制file,file1到dir目录,dir目录必须存在
cp -r dir dir1 dir2	#复制dir,dir1到dir2,dir2必须存在

7.文件移动

mv file	file1		#移动file到file1中(file1有内容则会被覆盖)	
					#如果file1不存在,则相当于将file重命名为file1
mv dir dir1			#将dir移动到dir1

注意:
相同磁盘的文件移动只是一个重明名过程
不同磁盘的文件移动是复制删除过程

8.查看文件和目录属性

ls -l file			#文件属性
ls dir				#目录中保函的内容
ls -d	dir			#目录本身
ls -a	dir			#所有文件包含隐藏的
ls -S	dir			#查看并且按照大小排序
ls -s	file|dir	#查看文件大小
wc -l	file1		#行数
wc -w				#单词数
wc -m				#字符数
wc -c				#字节数

在这里插入图片描述

9.文件内容查看

cat file		##查看文件的全部内容
cat -b file		##-b显示行号不包含空行
cat -n file		##-n显示行号包含空行

在这里插入图片描述

 less	file		#分页浏览
				    #用法:
				    #上	| 下			逐行移动
				    #pageup	| pagedown		逐页移动
/o					#高亮显示关键字o,n向下匹配,N向上匹配
v					#进入vim模式 在vim模式中按:wq 退回到less模式
q					#退出

/o回车效果如下:
在这里插入图片描述

  head file				#查看文件前10行
  head -n 3 file		#查看文件前3行

在这里插入图片描述

  tail file				#查看文件后10行
  tail -n 3 file		#查看文件后3行

在这里插入图片描述

10.文件的寻址

1.文件的地址分为:
相对路径:
相对与当前系统所在目录的一个文件名称的简写,此名称省略了系统当前所在目录的名称,此名称不以“/”开头,此名称在命令执行时会自动在操作对象前加入“PWD”所显示的值
绝对路径:
绝对路径是文件在系统的真实位置,此命令是以“/”开头的,此命令在命执行时系统不会考虑现在所在位置的信息

注意:
当操作对象是 对象1 空格 对象2 时,这两个对象之间没有任何关系,豆角 茄子,这是2个对象,豆角茄子,这是一个对象

touch		#动作是被系统执行的,不能作为名称出现
"touch"		#用引号的作用是把动作变成名称字符,这种方法叫引用

11.自动补齐

TAB
系统中的TAB键可以实现命令的自动补齐,可以补齐系统中存在的命令,文件名称,和部分命令的参数,当一次TAB补齐不了时代表以此关键字开头的内容不唯一,可以按两次TAB来列出所有以此关键字开头的内容

12.关于路径的命令

显示路径

pwd			#显示当前路径

在这里插入图片描述

切换路径

cd /home/kiosk/Desktop	#进入到/home/kiosk/Desktop中
cd -					#当前目录和当前目录值前所在目录之间的切换
cd ~					#进入当前用户家目录
cd ~kiosk 				#进入user家目录
cd ..					#进入当前目录的上级目录

在这里插入图片描述

13.系统中历史的调用

history			#查看历史
history -c		#清空当前环境中的历史
!5				#执行历史中第5条命令
!c			#执行以c关键字开头的最近一条历史

[ctrl]+r+c ---->调用历史中最近一条含有c关键字的历史
在这里插入图片描述
上键|下键---->逐条调用历史

14.在系统中获得帮助

查看命令大用途

whatis touch		#查看touch命令的用途

在这里插入图片描述
查看命令的用法

touch --help	#查看touch命令的基本用法,适用于多数命令

[ ] ---->标示选项可以加也可以不加
---->标示选项加入的个数任意
<> ---->标示选项是必须要加入的
Userage: ---->标示命令用法
Opetions: ---->对参数的作用做说明

man查看命令或文件的说说明手册

man touch			#查看touch说明手册

man 5 文件

man 5 /etc/passwd	#查看用户配置文件passwd

man的级别
1 #命令
2 #系统调用接口
3 #函数库调用接口
4 #特殊设备文件
5 #系统配置文件
6 #游戏规则说明
7 #包说明
8 #系统管理命令
9 #内核调用规则

man的基本用法
上|下 ---->逐行查看
pgup|pgdn ---->分页查看
/关键字 ---->高亮显示关键字,n向下匹配,N上向匹配
:q ---->退出

man -k passwd ---->查看当前字符串(passwd)在系统中拥有的man的级别
在这里插入图片描述
/usr/share/doc ---->系统中所有安装过的软件的帮助文档

14.系统中的通用配置符号

* 匹配0到任意字符
? 匹配单个字符
[[:alpha:]] 单个字母
[[:lower:]] 单个小写字母
[[:upper:]] 单个大写字母
[[:digit:]] 单个数字
[[:punct:]] 单个符号
[[:space:]] 单个空格
[[:alnum:]] 单个数字或字母
[[:punct:][:upper:]] 单个符号或单个大写字母
[1-9] 1位,这位是1-9的任意数字
[!3-5] 1位,不是3-5的数字
[^3-5] 1位,不是3-5的数字
[a-z] 1位,a-z的任意字母
{1…3} 3个,1,2,3这三个数
{1,4,7} 3个1,4,7这三个数

15.系统中输入输出的管理

理解系统的输入输出

名称 类型 文件描述符 操作
标准输入 standard input 0 <,<<
标准输出 standard output 1 >,>>
标准错误输出 standard error output 2 2>,2>>

管理输入输出的符号

1.输出重定向
[1] > ---->重定向正确输出
[2] 2> ---->重定向错误输出
[3] &> ---->重定向所有输出

注意:
重定向会覆盖原文件内容

示例:
注意:以下实验必须在student用户下完成

find /etc/ -name passwd  > file			#定向正确输出到file
find /etc/ -name passwd  2> file.err	#定向错误输出到file.err
find /etc/ -name passwd  &> file.all	#定向所有输出到file.all

在这里插入图片描述
2.输出追加

[1] >> ---->追加正确输出到文件最后
[2] 2>> ---->追加错误输出到文件最后
[3] &>> ---->追加所有输出到文件最后

注意:
追加不会覆盖源文件内容
示例:

find /etc/ -name passwd >> file			#追加正确输出到file
find /etc/ -name passwd 2>> file.err	#追加错误输出到file
find /etc/ -name passwd &>> file.all	#追加所有输出到file
> file									#清空file

在这里插入图片描述
在这里插入图片描述
3.管道的应用
作用:
“|” 管道的作用是把前一条命令的输出变成后一条命令的输入
注意:
管道只允许正确输出通过,通过管道的输入将会变成输入,而变成输入的这些输出是会被第二条命令处理的,如果需要保存输出内容,那么需要复制一份输出,用到的命令是“tee”
示例:
此实验在普通用户下操作:

find /etc/ -name passwd | wc -l					#会看到的结果为2,因为错误输出不能通过管道
find /etc/ -name passwd 2>&1|wc -l				#会看到22,因为编号为2的输出被“2>&1”转换为编号1
find /etc/ -name passwd 2>&1|tee file | wc -l	#保存一份输出到file再统计行数

在这里插入图片描述
4.输入重定向
示例:

cat >file <<EOF			#将hello WORLD 重定向到cat显示的地方				
hello					#再向file里写入cat显示的内容
WORLD
EOF
cat file				#查看file内容

在这里插入图片描述
理解:
shell将分界符EOF之后直至下一个同样的分界符EOF之前的所有内容都作为输入
遇到下一个分界符,shell就知道输入结束了。
上述例子是用shell输入,还可以用文件等其他形式,请读者自行扩展

猜你喜欢

转载自blog.csdn.net/Dreaming5498/article/details/89002226
今日推荐