Linux文件操作命令实操

  1. 在家目录下创建 ~/workspace/cmd 目录以及 ~/workspace/tmp/test 目录(什么是家目录?)
    首先可以先切换到根目录,再创建workspace目录,然后进入到目录里之后再分别创建cmd和test文件。
[test@localhost ~]$ cd ~
[test@localhost ~]$ mkdir workspace
[test@localhost ~]$ cd workspace/
[test@localhost workspace]$ mkdir cmd
[test@localhost workspace]$ mkdir tmp/test
mkdir: 无法创建目录"tmp/test": 没有那个文件或目录
[test@localhost workspace]$ mkdir tmp
[test@localhost workspace]$ cd tmp
[test@localhost tmp]$ mkdir test
[test@localhost tmp]$ cd ../ tree
[test@localhost workspace]$ cd ..
[test@localhost ~]$ tree workspace/
workspace/
├── cmd
└── tmp
    └── test

3 directories, 0 files
[test@localhost ~]$ ^C
[test@localhost ~]$ 

当我创建完cmd目录之后再去创建tmp/test文件时,我想一次创建成功,可是这里因为workspace目录没有tmp目录,mkdir命令提示我没有tmp目录报错。
那么我想一次创建好test目录之后直接在test目录底下创建tmp 文件可不可以,肯定是ok的,因为mkdir有递归创建的功能的,就是 -p 选项了,那么我直接在家目录下创建workspace时采用递归创建,那一条命令可以解决了。

[test@localhost ~]$ mkdir -p workspace/cmd workspace/test/tmp
[test@localhost ~]$ tree workspace/
workspace/
├── cmd
└── test
    └── tmp

3 directories, 0 files

解释:家目录就相当于windows中的user目录,一个操作系统可以创建多个用户,user目录就是创建用户时给该用户创建的默认工作目录。

  1. 进入 ~/workspace/cmd 目录,创建一个空文件my.txt
[test@localhost ~]$ cd workspace/cmd
[test@localhost cmd]$ touch mt.txt
[test@localhost cmd]$ ls
mt.txt

这个就比较简单,就是在输入目录时学会Tab补全,当你想输入workspace时需要输入十几个字母,但是当你输入work之后按tab键后会自动补全,方便快捷,因此熟练使用可提高操作效率。

  1. 使用重定向>>与echo命令向my.txt文件写入 hello world 数据
[test@localhost cmd]$ echo "hello world" >>my.txt
[test@localhost cmd]$ cat my.txt
hello world
  1. 将my.txt复制一份到~/workspace/test/tmp目录下
[test@localhost cmd]$ cp my.txt ../test/tmp
[test@localhost cmd]$ cd ..
[test@localhost workspace]$ tree test
test
└── tmp
    └── my.txt

1 directory, 1 file

这里涉及到相对路径,在我们的文件目录中有绝对路径和相对路径之分
首先路径就是从一个目录到另一个目录的路线。

  • 绝对路径:从根目录开始到某个子目录 例如:/home/test/workspace/cmd
  • 相对路径:从某个子目录到另一个子目录的切换路线, 例如:我们从上面的cmd目录到test/tmp目录,我们处于cmd目录,要找到test/tmp目录我们首先返回上层目录,在进入test/tmp目录,因此就是 …/test/tmp
    … 表示上层目录, . 表示本层目录(.和…在个目录中都存在,只不过是被隐藏)
  1. 将~/workspace/test/tmp目录移动剪切到 ~/workspace/下
    先切换到test目录下
[test@localhost test]$ ls
tmp
[test@localhost test]$ mv tmp ../
[test@localhost test]$ cd ..
[test@localhost workspace]$ ls
cmd  test  tmp
  1. 清空~/workspace/下的空目录
[test@localhost workspace]$ tree
.
├── cmd
│   └── my.txt
├── test
└── tmp
    └── my.txt

3 directories, 2 files
[test@localhost workspace]$ rmdir test
[test@localhost workspace]$ tree
.
├── cmd
│   └── my.txt
└── tmp
    └── my.txt

2 directories, 2 files

  1. 刷新~/workspace/cmd/my.txt文件的时间属性与家目录时间相同
    touch命令使用
[test@localhost cmd]$ touch my.txt ~/
[test@localhost cmd]$ ll
总用量 4
-rw-rw-r--. 1 test test 12 11月 12 09:24 my.txt
  1. 打印~/workspace/cmd/my.txt文件全部内容到终端显示上
[test@localhost cmd]$ cat my.txt 
hello world
  1. 分页显示/etc/passwd的内容到显示终端上

[test@localhost cmd]$ more /etc/passwd
  1. 分页显示的内容中匹配root字符
[test@bogon ~]$ less /etc/passwd ?root
  1. 显示/etc/passwd文件的前五行数据
[test@localhost cmd]$ head -5 /etc/passwd
  1. 显示/etc/passwd文件的后五行数据
$ tail -5 /etc/passwd
  1. 动态打印显示~/workspace/cmd/my.txt的最后一行数据
[test@bogon ~]$ tail -f ~/workspace/cmd/my.txt -n 1
hello world
  1. 显示/etc/passwd文件中包含Root字符串的行,并显示行号忽略大小写
[test@bogon ~]$ grep -n -i Root /etc/passwd
1:root:x:0:0:root:/root:/bin/bash
10:operator:x:11:0:operator:/root:/sbin/nologin

  1. 查找~/workspace/目录下名字包含my字符串的文件
[test@bogon ~]$ find ~/workspace/ -name "*my*"
/home/test/workspace/cmd/my.txt
/home/test/workspace/tmp/my.txt

  1. 查找~/workspace/目录下最后一次修改时间在10分钟以内的文件
[test@bogon ~]$ find ~/workspace/ -mmin -10
/home/test/workspace/cmd/my.txt

  1. 显示系统时间的时间戳,日历
$ date "+%s"
$ cal -m
  1. 以“月-日 时:分”格式显示当前系统时间
[test@localhost ~]$ date "+%m-%d %H:%M"
11-12 10:40

date命令,不熟练时可以使用man 查看
24. 修改文件~/workspace/cmd/my.txt的权限为651(代表什么权限?)

[test@bogon ~]$ ll ~/workspace/cmd/my.txt 
-rw-rw-r--. 1 test test 12 12月 12 11:53 /home/test/workspace/cmd/my.txt
[test@bogon ~]$ chmod 651 ~/workspace/cmd/my.txt
[test@bogon ~]$ ll ~/workspace/cmd/my.txt
-rw-r-x--x. 1 test test 12 12月 12 11:53 /home/test/workspace/cmd/my.txt

651转换为二进制,110 101 001,高三位代表文件所属用户权限为可读可写,
中间三位代表同组用户权限为可读可执行,第三位代表其他用户权限为可执行。

  1. 如何使系统默认创建文件的权限为666? 记得修改回来
[test@bogon ~]$ umask
0002
[test@bogon ~]$ touch file.txt
[test@bogon ~]$ ll file.txt 
-rw-rw-r--. 1 test test 0 12月 12 12:10 file.txt
[test@bogon ~]$ umask 0111
[test@bogon ~]$ touch file2.txt
[test@bogon ~]$ ll file2.txt 
-rw-rw-rw-. 1 test test 0 12月 12 12:11 file2.txt
[test@bogon ~]$ 

umask可以查看系统默认创建文件权限掩码,其文件权限等于掩码取反和666相与
28. 修改~/workspace/tmp/目录的权限为其他用户可以进入但是不能查看其中内容也不能在其中创建文件

[test@bogon ~]$ ll ~/workspace/
总用量 0
drwxrwxr-x. 2 test test 20 11月 12 09:05 cmd
[test@bogon ~]$ chmod 751 ~/workspace/cmd
[test@bogon ~]$ ll ~/workspace/
总用量 0
drwxr-x--x. 2 test test 20 11月 12 09:05 cmd

不能查看文件中内容且不能创建文件,就是对该目录没有读和写权限
30. 修改~/workspace/cmd/目录权限为可以浏览或进入或创建文件,但是不能删除别人的文件

[test@bogon ~]$ chmod -t ~/workspace/cmd
  1. 打印/etc/passwd文件的第五行数据
[test@bogon ~]$ head -n 5 /etc/passwd |tail -n 1
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

先得到前五行数据,之后再通过管道符使tail打印这五行的最后一行

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值