Linux基础练习一

1.创建一个目录文件/data。
解答:
方法一:
[root@test ~]# cd /          相对路径
[root@test /]# mkdir data 
方法二:    绝对路径
[root@test /]# mkdir /data
方法三:   ;封号 多个命令的分隔符
[root@test ~]# cd /;mkdir data
mkdir    mkdir


2.在/data下面创建一个名叫shizhi.txt的文件。
解答:
[root@test /]# touch /data/shizhi.txt
touch:创建空文件  如果文件已经存在更新时间戳




3.为shizhi.txt文件增加内容为“I am studying linux.”。
解答:
方法一:
[root@test /]# vim /data/shizhi.txt 
[root@test /]# cat /data/shizhi.txt 
I am studying linux.
方法二:
[root@test /]# cat >>/data/shizhi.txt<<EOF
> I am studying linux too.
> EOF
[root@test /]# cat /data/shizhi.txt 
I am studying linux.
I am studying linux too.
方法三:
[root@test /]# echo 'I am studying linux.' >/data/shizhi.txt
[root@test /]# echo 'I am studying linux.' >>/data/shizhi.txt 
> 输出重定向(箭头的朝向就是数据的流向,如果文件不存会创建文件,会覆盖源文件内的所有内容)
>> 追加重定向(箭头的朝向就是数据的流向,如果文件不存会创建文件,在源文件的末尾添加内容)


4.把shizhi.txt文件拷贝到/tmp目录下。
解答:[root@test /]# cp /data/shizhi.txt /tmp
cp 复制文件或目录  默认情况下不能拷贝目录 
参数:-r 递归 使之能拷贝目录  -a=all -a=-rdp  -d 保存link属性 -p保存文件属性


5.把/data目录移动到/root目录下。
解答:
[root@test /]# mv /data /root
mv 移动或重命名文件(目录)




6.进入/root目录下的data目录,删除shizhi.txt文件。
解答:
方法一: rm命令使用比较危险  尽量不要使用 使用的话尽量-rf参数不要一起加
[root@test ~]# cd /root/data/
[root@test data]# pwd
/root/data
[root@test data]# rm shizhi.txt 
rm 删除文件或目录  -f force 强制   -r 递归(使之能删除目录)
删除尽量使用find 结合rm 
find 很重要的命令  *****  
方法一:
[root@test data]# find /root/data -type f -name "shizhi.txt" |xargs rm -f
(推荐使用)
方法二:
[root@test data]# find . -type f -name "*.txt" -exec rm {} \; 


7.在第6题的基础上,退出到上一级目录,删除data目录。
解答:
.当前目录
.. 上一级目录
方法一:
[root@test data]# cd ..
[root@test ~]# pwd
/root
[root@test ~]# rm -r data
方法二:rmdir 删除空目录
[root@test ~]# rmdir data


8.已知/root/test.txt文件的内容为
hangzhou
shizhi
xinxi
要求打印test.txt内容时,不显示包含该hangzhou字符串。
解答:
[root@test ~]# cat test.txt 
hangzhou
shizhi
xinxi
方法一:
[root@test ~]# grep -v hangzhou test.txt 
shizhi
xinxi
grep 过滤  -v 排除   非常重要的命令  *****  linux三剑客之老三
方法二:
[root@test ~]# sed -n '2,3p' test.txt 
shizhi
xinxi
sed 流编辑器 擅长处理行       非常重要的命令  *****  三剑客老二
-n 取消默认输出   p print  打印 
方法三:
[root@test ~]# sed /hangzhou/d test.txt 
shizhi
xinxi
/ / 之间是匹配的内容  d 删除
方法四:
[root@test ~]# tail -2 test.txt 
shizhi
xinxi


9.请使用一条命令完成创建目录/shizhi/text,即同时创建/shizhi目录与
text目录。
解答:
mkdir -p /shizhi/test






10.已知/tmp目录下有test.txt文件,要如何执行命令才能用/mnt/test.txt直接覆盖掉/tmp/test.txt系统不询问?
解答:
别名:
为什么会进行交互,因为mv cp rm 都设置了别名


alias cp='cp -i'
alias mv='mv -i'
alias rm='rm -i'   交互 
方法一:    \的作用:使用cp命令时不调用别名(默认情况下优先调用别名)
[root@test ~]# \cp /tmp/test.txt /mnt/test.txt 
方法二:    使用全路径 跳过别名
[root@test ~]# which cp    查询命令全路径的命令 which
alias cp='cp -i'
/bin/cp
[root@test ~]# /bin/cp /tmp/test.txt /mnt/test.txt 
方法三:      取消别名
[root@test ~]# unalias cp
alias 作用 : 查看系统已经设置的别名、设置别名
1、通过给危险的命令加一些保护参数,防止人为误操作
2、可以把很多复杂的字符串或命令变成一个简单的字符或命令
默认情况下设置的别名都是临时生效 重启后消失 仅对当前用户生效
如果想要对当前用户永久生效:就需要将别名写入到~/.bashrc   不会立即生效
                          想要立即生效 source ~/.bashrc   . ~/.bashrc
如果要使别名对当前设备永久生效:将别名写入到 /etc/bashrc或者/etc/profile
                           不会立即生效 如果想要生效
unalias 取消别名 










11.已知ett.txt文件内容共有100行,现在要求只查看第20行到30行的内容,如何操作?
解答:
方法一:
[root@test ~]# sed -n '20,30p' ett.txt
20
21
22
23
24
25
26
27
28
29
30
方法二:
[root@test ~]# head -30 ett.txt |tail -11 
head 默认查看文件头10行 -n 30 n省略  -30 
tail 默认查看文件尾10行 -n 11 n省略  -1
| 管道符 
方法三:
[root@test ~]# awk '{if(NR>19&&NR<=30)print $0}' ett.txt 
20
21
22
23
24
25
26
27
28
29
30
[root@test ~]# awk 'NR>19&&NR<31' ett.txt
20
21
22
23
24
25
26
27
28
29
30
awk 过滤  擅长处理列      *****   非常重要   三剑客老大
&&表示并且   NR行    $0 表示整行
问题:11行内容   现在要打印1行的内容  sed怎么操作?  awk怎么操作?
方法四:
grep -A 10 20 ett.txt
grep -B 10 30 ett.txt
grep -C 5 25 ett.txt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值