Linux基础知识部分的命令及任务整理
1.5 与Linux进行交互
三个简单命令小试牛刀
1、whoami显示当前登录用户的用户名
whoami --help 显示whoami命令简短帮助文档
whoami --version 显示whoami命令的版本信息
2、echo “字符串”在屏幕上回显字符串内容
echo –n “字符串”在屏幕上回显字符串内容之后不换行
echo –e “字符串\n\n”输出反斜杠开头的转义字符(\n表示换一行,两个\n表示换两行)
3、nano是一个文本编译工具,有自己的界面,保存ctrl+o,ctrl+g查看nano帮助文档,ctrl+x退出帮助文档,再按ctrl+x退出当前文档
4、在终端中,有两个有用的功能:一是历史命令功能,用上下箭头来浏览并选择曾经输入过的命令;还可以使用history命令显示在哪行用过的命令,通过输入!#(#表示命令用的行号)即可自动输入。二是命令补齐功能,输入命令的一部分时,按下tab键会帮输入剩下的字符,补充完整命令名称;如果有多个命令,则连按两下tab键,会显示所有相符的命令。
1.7 关闭和重启
只有根用户root才有权限使用,ctrl+c或者shutdown -c取消关机命令
-h选项是关机,-r选项是重启
任务一:10分钟后关机(shutdown –h 10 系统将在10分钟后关机维护,维护时间大约20分钟,请各位保存好手头工作,以免数据丢失。)
任务二:今天午夜12点关机(shutdown –h 00:00)
任务三:立即关机(shutdown –h now)
其他关机重启指令reboot=shutdown –r now;halt=shutdown –h now;
2管好文件
2.1切换、创建和删除目录
pwd命令显示当前完整的工作目录
clear 命令可以清除终端命令行
cd 命令切换工作目录,熟悉特殊字符代表特定目录:
.点号—表示当前工作目录
..双点号—表示工作目录上层目录
-连字符—表示前一个工作目录
~波浪号—表示用户的家目录
mkdir创建目录(mkdir–p选项创建嵌套目录)
任务:在当前目录下创建dirlevel01目录,同时在dirlevel01下创建dirlevel02目录。mkdir–p /tmp/dirlevel01/dirlevel02
rmdir删除目录(只能删除空目录)
2.2列出文件和文件属性
ls列出文件(-a选项表示列出所有文件,-l选项表示以长格式列出文件详细属性信息,-al可以连用)
chmod修改文件访问的属性
chown [所有者][:[组]] 文件
2.3拷贝、移动、删除和创建文件
touch 创建文件
cp拷贝文件
任务一:将/tmp目录下的文件file01文件拷贝到当前家目录中
任务二:将/tmp目录下的文件file01文件拷贝到当前家目录中,并将其重命名为file01-bak
任务三:将/tmp目录下的文件file02、file03、file04拷贝到当前用户家目录中
任务四:将/tmp目录下的目录dir01目录拷贝到当前用户家目录中(-r 选项表示拷贝整个目录)
任务五:拷贝批量同名文件存在
任务六:以root身份将/tmp目录中sample.s件拷贝到stu的家目录下,文件拥有者等属性不改变(-p选项使文件属性不变)
mv 移动文件,可以实现文件重命名功能
任务一:将/tmp目录下的文件file05文件移动到当前用户家目录中
任务二:将当前用户家目录下的文件file05移动到当前用户家目录(即本目录下),文件名改为file05-rename
rm删除文件
任务一:将当前用户家目录下的file01文件删除
任务二:将当前用户家目录下的dir01目录删除(跟上-R选项)
2.4创建文件链接
ln命令–s选项表示创建符号链接
任务一:为/tmp目录下hello.sh创建一个名为hello-slink的符号链接。
任务二:为/tmp目录下的文件创建一个硬链接sample-hl01。
2.5打包和压缩文件
tar打包文件命令,-c选项小时创建打包文件,-f选项跟着指定要创建的打包文件名,-tf查看打包文件中的文件名,--delete 选项删除打包文件中的某个特定文件,-A选项合并两个打包文件,-x表示解包
任务一:将tmp目录下的一批文件打包为samplefile.tar。
任务二:将tmp目录下的sampledir01目录打包为sampledir01.tar
任务三:删除打包文件samplefile.tar中的一个文件删除
任务四:将samplefile.tar合并到sampledir01.tar文件中
任务五:将sampledir01.tar文件解包
gzip压缩命令,-d选项表示解压
任务六:压缩tmp目录下的sampledir01.tar文件
2.6查文件
locate 命令,需要先用updatedb命令更新数据库。
find 命令
一、根据文件名来查,条件选项为-name,后面跟上文件名
任务一:查根目录下,名字为passwd的文件
扩展任务:1、列出当前目录及子目录下所有文件和文件夹(find .)
2、在/home目录下查以.txt结尾的文件名(find /home -name "*.txt"),忽略大小写(find /home -iname "*.txt")
二、根据文件类型查,条件选项为-type,后面跟上代表文件类型的字符查
d目录文件,f 普通文件,c 字符设备文件,b 块设备文件,l 符号链接文件
任务二:查bin目录下所有的符号链接文件
三、根据文件属性进行查,相关选项有六个,分为三组(方法类同)
-mtime–mmin文件修改时间(天/分钟)
-ctime–cmin文件属性修改的时间(天/分钟)
-atime–amin文件被读取/执行时间(天/分钟)
•访问时间(-atime/天,-amin/分钟):用户最近一次访问时间。
•修改时间(-mtime/天,-mmin/分钟):文件最后一次修改时间。
•变化时间(-ctime/天,-cmin/分钟):文件数据元(例如权限等)最后一次修改时间。
以第一组为例,-mtime单位是天
任务三:在/tmp目录下查3天之内文件内容发生改变的文件
任务四:在/tmp目录下查7天前文件内容曾发生改变的文件
任务五:在/tmp目录下查在第4天前的那一天(当天)文件内容曾发生改变的文件
-mmin单位是分钟
任务六:在/tmp目录下查在10分钟前文件内容曾发生改变的文件
任务七:在/tmp目录下查在一个小时之内文件内容曾发生改变的文件
四、根据文件大小进行查,条件选项为-size,使用的大小单位是:
小写c——字节
小写k——1024字节
大写M——1024k
大写G——1024M
任务八:在tmp目录下查比3k字节小的文件
任务九:在tmp目录下查大小正好是10M字节的文件
任务十:在tmp目录下查比100字节大的文件
五、根据文件拥有者和从属用户组的属性查,选项为
-user -uid
-group –gid
任务十一:在tmp目录下查拥有者是root用户的文件
任务十二:在tmp目录下查拥有者用户uid是500的文件
任务十三:在tmp目录下查从属于stu用户组的文件
任务十四:在tmp目录下查从属于gid为0的用户组文件
六、根据文件的权限进行查,条件选项为-perm,后面跟的是一个八进制文件访问权限数值。
任务十五:在tmp目录下查754权限(文件拥有者可读可写可执行,文件从属组的用户可读可执行,其他用户可读)的文件
七、Find命令连用
使用“与-a”“或-o”“非!”三种运算符链接查条件,用圆括号把多个查文件括起来。
任务十六:在tmp目录下查文件大小大于1k,小于1M,在30分钟内文件内容被修改过的普通文件。
扩展任务:1、出/home下不是以.txt结尾的文件(find /home ! -name "*.txt")
2、查所有以abc开头并且不含 .php扩展名的文件。(find ./test -name 'abc*' ! -name '*.php')建议文件名加上引号,否则容易出错。
3、查所有以 .php结尾或者以 .txt 结尾的文件。(find -name '*.php' -o -name '*.txt')
4、当前目录及子目录下查所有以.txt和.pdf结尾的文件(find . \( -name "*.txt" -o -name "*.pdf" \))
八、Find命令动作选项-exec
任务十七:在tmp目录下查文件大小大于1k,小于10M的普通文件,并将它们都删除。
任务十八:在当前用户家目录下查在10分钟内被修改过的目录文件,并将它们打包成与目录同名,后缀为.tar的打包文件。
拓展任务:1、删除tmp目录下扩展名为 .txt 的文件(find /tmp -type f -name "*.txt" -exec rm -f {} \;)
2、删除目录,只要把 -type 后面的 f 改为 d ,并且在rm命令后面加上 -r 即可。(find /tmp -type d -name "dir*" -exec rm -r -f {} \;)
2.7通配符
一、*代表任意长度字符串
任务一:将tmp目录下的文件后缀为.txt的所有文件都删除。linux使用vim编辑文件
二、?代表任意单个字符
任务二:列出bin目录下所有名字长度为4个字符,并以sh结尾的文件。
三、[ ]中括号
[c1—c2]表示匹配c1到c2字符序列中的任意单一字符,前提是c1到c2确实是一个有序的字符序列,如:数字或者英文。
任务三:将tmp目录下名字以file字样打头,紧接着0-9之间的一个整数,以.txt结尾的文件拷贝到当前用户家目录下。
[c1,c2,……cn]表示匹配中括号之间字符列表中的任意单一字符。
任务四:将tmp目录下名字以script字样打头,紧接着a,1,x中的任意一个字符,以.sh结尾的文件的访问权限改为700。
四、{ }大括号{string1,string2,……stringN}表示匹配string1,string2直至stringN这N个字符串中的某个字符串。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论