Linux基础命令-文件处理

1.cd命令

命令 含义
cd 切换目录
cd - 切换回上一次所在的目录
cd . 代表当前目录
cd .. 回上一级目录
cd ~ 切换回家目录 root用户=/root ,oldboy=/home/oldboy

2.mkdir创建目录

命令 含义
mkdir oldboy 在当前目录创建oldboy目录
mkdir -p /oldboy/oldboy01 在根下创建oldboy目录,在oldboy目录里创建oldboy01(递归创建)
mkdir dir-{1..50} 批量创建目录

3.touch创建文件

命令 含义
touch shuai.txt 在当前目录创建shuai.txt文件
[root@shuai ~]# touch shuai.txt
[root@shuai ~]# ls
shuai.txt

4.mv移动文件(相当于剪切)

命令 含义
mv shuai.txt /data/ 将文件移动到/data/目录下
mv shuai.txt test.txt 文件重命名
mv test.txt /data/shuai.txt 移动并重命名
mv dir-1 dir-2 dir-3 test dir-15/ 将多个文件或目录移到到指定的位置
[root@shuai ~]# mv shuai.txt /data/
[root@shuai ~]# ls /data/
shuai.txt
[root@shuai data]# mv shuai.txt test.txt
[root@shuai data]# ls
test.txt
[root@shuai data]# mv test.txt /data/shuai.txt
[root@shuai data]# ls
shuai.txt

5.rm删除

命令 含义
rm -f 强制删除
rm -r 递归删除

PS: 在使用rm删除时, 文件用-f 目录才加-r 尽可能不要-rf一起使用
6.cp拷贝

命令 含义
cp file /tmp/ 复制文件到tmp目录下
cp file /tmp/file1 复制文件到tmp目录下并重新命名
cp -p file 复制时保持文件属性不变
cp -r /etc/ /tmp/ 复制目录
cp -rv file /etc/hostname /opt/ 复制不同的目录和不同的文件到同一位置
\cp -r /etc/ /tmp/ 直接覆盖不提示

7.cat查看文件内容

命令 含义
cat file1 查看file1文件全部内容
cat -p file1 查看file1文件有多少行
cat -A file1 查看file1文件特殊字符
cat >> test.txt < 新建test.txt文件,并追加内容,后续是追加
[root@shuai ~]# cat file1 
 www.fushuaizhang.cn  个人博客
[root@shuai ~]# cat -n file1 
     1   www.fushuaizhang.cn  个人博客
     2   www.fushuaizhang.cn  个人博客
     3   www.fushuaizhang.cn  个人博客
     4   www.fushuaizhang.cn  个人博客
     5   www.fushuaizhang.cn  个人博客
     6   www.fushuaizhang.cn  个人博客
     7   www.fushuaizhang.cn  个人博客
     8   www.fushuaizhang.cn  个人博客
     9   www.fushuaizhang.cn  个人博客
    10   www.fushuaizhang.cn  个人博客
    11   www.fushuaizhang.cn  个人博客
    12   www.fushuaizhang.cn  个人博客
    13   www.fushuaizhang.cn  个人博客
    14   www.fushuaizhang.cn  个人博客
    15   www.fushuaizhang.cn  个人博客
    16   www.fushuaizhang.cn  个人博客
    17   www.fushuaizhang.cn  个人博客
[root@shuai ~]# cat -A file1 
 www.fushuaizhang.cn  M-dM-8M-*M-dM-:M-:M-eM-^MM-^ZM-eM-.M-"$
 www.fushuaizhang.cn  M-dM-8M-*M-dM-:M-:M-eM-^MM-^ZM-eM-.M-"$
 www.fushuaizhang.cn  M-dM-8M-*M-dM-:M-:M-eM-^MM-^ZM-eM-.M-"$
 www.fushuaizhang.cn  M-dM-8M-*M-dM-:M-:M-eM-^MM-^ZM-eM-.M-"$
 www.fushuaizhang.cn  M-dM-8M-*M-dM-:M-:M-eM-^MM-^ZM-eM-.M-"$
 www.fushuaizhang.cn  M-dM-8M-*M-dM-:M-:M-eM-^MM-^ZM-eM-.M-"$
 www.fushuaizhang.cn  M-dM-8M-*M-dM-:M-:M-eM-^MM-^ZM-eM-.M-"$
 www.fushuaizhang.cn  M-dM-8M-*M-dM-:M-:M-eM-^MM-^ZM-eM-.M-"$
 www.fushuaizhang.cn  M-dM-8M-*M-dM-:M-:M-eM-^MM-^ZM-eM-.M-"$
 www.fushuaizhang.cn  M-dM-8M-*M-dM-:M-:M-eM-^MM-^ZM-eM-.M-"$
 www.fushuaizhang.cn  M-dM-8M-*M-dM-:M-:M-eM-^MM-^ZM-eM-.M-"$
 www.fushuaizhang.cn  M-dM-8M-*M-dM-:M-:M-eM-^MM-^ZM-eM-.M-"$
 www.fushuaizhang.cn  M-dM-8M-*M-dM-:M-:M-eM-^MM-^ZM-eM-.M-"$
 www.fushuaizhang.cn  M-dM-8M-*M-dM-:M-:M-eM-^MM-^ZM-eM-.M-"$
 www.fushuaizhang.cn  M-dM-8M-*M-dM-:M-:M-eM-^MM-^ZM-eM-.M-"$
 www.fushuaizhang.cn  M-dM-8M-*M-dM-:M-:M-eM-^MM-^ZM-eM-.M-"$
 www.fushuaizhang.cn  M-dM-8M-*M-dM-:M-:M-eM-^MM-^ZM-eM-.M-"$
[root@shuai ~]# cat >> test.txt < test1
> test2
> test3
> EOF

8.less查看文件前,空格进行翻页

命令 含义
less /etc /services 查看service文件前几行
[root@shuai ~]# less /etc/services

9.more查看文件显示查看百分比

命令 含义
more /etc /services 查看文件显示查看百分比
[root@shuai ~]# more /etc/services

10.head查看文件头部10行内容

命令 含义
hade /etc /services 查看文件头部10行内容
hade -2 /etc /services 指定查看行数
[root@shuai ~]# head /etc/services
[root@shuai ~]# head  -2 /etc/services

11.tail查看文件尾部10行内容

命令 含义
tail /etc /services 查看文件尾部10行内容
tail -2 /etc /services 指定查看行数
tail -f /var/log/secure 动态的查看尾部的信息
[root@shuai ~]# tail /etc/services
[root@shuai ~]# tail  -2 /etc/services
[root@shuai ~]# tail -f /var/log/secure 

12.grep文件过滤

命令 含义
grep "root" /etc/passwd 在passwd文件过滤出root关键字的行
grep "^root" /etc/passwd 在passwd文件过滤出root开头的行
grep "bash$" /etc/passwd 在passwd文件过滤出bash结尾的行
grep -n -A 2 "bash$" /etc/passwd 在passwd文件过滤出root开头的行和下两行
grep -n -B 2 "bash$" /etc/passwd 在passwd文件过滤出root开头的行和上两行
grep -n -C 2 "bash$" /etc/passwd 在passwd文件过滤出root开头的行和上下各两行
grep -v "root" /etc/passwd 在passwd文件过滤出除了root关键字的行
grep -i "root" /etc/passwd 忽略大小写匹配
grep "^root" |"bash$" /etc/passwd 过滤多个目标
[root@shuai ~]# grep "root" /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[root@shuai ~]# grep "^root" /etc/passwd
root:x:0:0:root:/root:/bin/bash
[root@shuai ~]# grep "bash$" /etc/passwd
root:x:0:0:root:/root:/bin/bash
[root@shuai ~]# grep -v "root" /etc/passwd
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
[root@shuai ~]# grep "^root" |"bash$" /etc/passwd

13.rz通过Windows上传文件
安装软件

[root@shuai ~]# yum install -y lrzsz

rz只能上传文件,不支持上传文件夹,不支持大于4G的文件,不支持断点续传

4.sz下载文件到Windows
命令 含义
sz file 下载文件到Windows


sz只能下载文件,不支持下载文件夹
14.which和whereis查找命令的绝对路径

root@shuai ~]# whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz
[root@shuai ~]# whereis -b ls
ls: /usr/bin/ls
[root@shuai ~]# which ls
alias ls='ls --color=auto'
    /usr/bin/ls 
[root@shuai ~]# type -a ls
ls 是 `ls --color=auto' 的别名
ls 是 /usr/bin/ls
##对于内核相关的命令要用type查询
[root@shuai ~]# type pwd
pwd 是 shell 内嵌

15.sort排序

命令 含义
sort file 文件内容进行排序
sort -t ":" -k2 -n file2 以冒号尾分隔符,第二行数字进行排序
[root@shuai ~]# sort file2
a:4
b:3
c:2
d:1
e:5
f:11
[root@shuai ~]# sort -t ":" -k2 -n file2 
d:1
c:2
b:3
a:4
e:5
f:11

IP地址排序小问题及解答

[root@shuai ~]# sort -t "." -k3.1,3.1 -k4.1,4.3 -n ip.txt 
#第三列的第一个字符到第三列的第一个字符k3.1,3.1,从第四列的第一个字符到第四列的第三个字符k4.1,4.3
192.168.0.151 00:0F:AF:85:6C:F6
192.168.0.151 00:0F:AF:85:6C:F6
192.168.0.152 00:0F:AF:83:1F:65
192.168.0.153 00:0F:AF:85:70:03
192.168.0.153 00:0F:AF:85:70:03
192.168.1.1 00:0F:AF:81:19:1F
192.168.1.10 00:30:15:A2:3B:B6
192.168.1.11 00:30:15:A3:23:B7
192.168.1.11 00:30:15:A3:23:B7
192.168.1.12 00:30:15:A2:3A:A1
192.168.1.21 00:0F:AF:85:6C:09
192.168.1.152 00:0F:AF:83:1F:65
192.168.2.2 00:0F:AF:85:6C:25
192.168.2.20 00:0F:AF:85:55:DE
192.168.2.20 00:0F:AF:85:55:DE
192.168.2.21 00:0F:AF:85:6C:09
192.168.2.22 00:0F:AF:85:5C:41
192.168.2.22 00:0F:AF:85:5C:41
192.168.3.1 00:0F:AF:81:19:1F
192.168.3.2 00:0F:AF:85:6C:25
192.18.3.3 00:0F:AF:85:70:423.1
192.168.3.3 00:0F:AF:85:70:42
192.168.3.10 00:30:15:A2:3B:B6
192.168.3.12 00:30:15:A2:3A:A1

16.uniq去重

命令 含义
sort file4 | uniq 文件内容进行去重
sort file4| uniq -c 查看重复次数

uniq只能取出连续的重复,应该先用sort排序,才能进行去重

[root@shuai ~]# cat file4
111
aaa
222
111
aaa
222
[root@shuai ~]# sort file4 | uniq 
111
222
aaa
[root@shuai ~]# sort file4 | uniq -c
      2 111
      2 222
      2 aaa

17.wc统计行数

命令 含义
wc -l file 文件行数统计
[root@shuai ~]# grep "nologin$" /etc/passwd | wc -l
17
[root@shuai ~]# wc -l /etc/passwd
21 /etc/passwd

你可能感兴趣的:(Linux基础命令-文件处理)