Linux基本命令

目录

1. 帮助命令

1.1 help

1.2 man

2. 查看切换显示目录

2.1 pwd(print work directory)

2.2 cd (change directory)

3. ls

3.1 ls的选项

3.2  ll

3.2.1 通配符

4. alias(临时修改)

4.1 alias

4.2 unalias

4.3 命令优先级别

5. du

5.1 du和ls的区别

5.2  a和s不能同时使用

5.3  /etc 目录 下 第一层文件夹占用多少磁盘空间?

6. mkdir

7. touch

8. 软连接和硬连接

9. cp

10. mv

11. rm

12. 查询命令

12.1 which

12.2 locate

12.3 find


1. 帮助命令

1.1 help

help + 内部命令##查看内部命令的帮助

转存失败重新上传取消

外部命令 + --help##查看外部命令的帮助

​​​​​​​

1.2 man

man分九个章节默认打开第一章节(menu菜单 manual手册)

转存失败重新上传取消

2. 查看切换显示目录

2.1 pwd(print work directory)

[root@localhost ~]#pwd  ##查询目录路径
/root

2.2 cd (change directory)

选项说明
cd  cd ~若不指定目标位置,切换到当前用户的宿主目录(家目录)
cd -到前一次目录
cd .表示以当前的工作目录作为起点
cd ..表示以当前目录的上一级目录(父目录)作为起点
cd ~表示以指定用户的宿主目录(家目录)作为起点
相对路径:以当前的工作目录作为起点
绝对路径:以根目录为起点
复制代码

3. ls

3.1 ls的选项

ls [选项] [文件或目录… ]

-l 以长式显示文件和目录列表 ll=ls -l

-a 显示全部包括隐藏文件

-A 显示全部文件或隐藏文件,但不包括 . 和..

-d 仅列出目录本身,而不是列出目录内的文件数据

-h 友好显示文件大小(human,人性化)

-R 递归显示该目录及该目录的子目录下的所有内容

--color 显示颜色

-S 以文件容量大小排序
复制代码

3.2  ll

[root@localhost mnt]# ll
总用量 0
drwxr-xr-x 2 root root 6 7月  21 15:13 aa

第一个字段 d 代表文件类型比如 d是目录 - 是普 通文件

第2-9(rwxr-xr-x)字母表示该文件的权限

root 文件所有者

root 文件所属组

6 文件大小  

21 15:13 文件的最近使用时间

aa 文件或目录名称
复制代码

文件类型

转存失败重新上传取消

- 普通文件

d 目录文件directory

l 符号链接文件link

b 块设备block 比如直接读1块 /dev 4k   (512*8(扇区)=4096字节=4k)

c 字符设备character 一个字符一个字符读取/dev/zero (/dev/null)

p 管道文件pipe 两个软件联系 A-管道文件-B A写 B 读 单向的

s 套接字文件socket 可以双向的
复制代码

ls一般不单独使用

  • 功能有限 要加上选项
  • ls单独使用 显示当前文件夹下的所有文件

ls会配合通配符去过滤需要的文件

3.2.1 通配符

符号 效果
匹配一个字符 f?.txt
*匹配所有非隐藏的字符无论多长多短,但不匹配 "." 开头的文件,即隐藏文件
{1..10}1到10
{a..z}a b c ...z
{A..Z}A B C .....Z
[123]取其中之一有就显示没有也无所谓
[a-z]单个小写字母范围需要注意
[0-9]单个数字匹配数字范围(0123456789)
\转义符,表示原来的意思
[[:lower:]]小写字母表示 a-z
[[:upper:]]大写字母表示 A-Z
[^can]匹配列表中的所有字符以外的字符
[[:digit:]]任意数字,相当于0-9

简要举例: 、*、{1..10}

[root@localhost ~]#touch fff.txt  ##创建fff.txt
[root@localhost ~]#ls f?.txt  ##查询f后一个字符匹配的文件
ls: 无法访问f?.txt: 没有那个文件或目录
[root@localhost ~]#ls  ##查看当前目录的文件
aa  anaconda-ks.cfg  a.txt  fff.txt
[root@localhost ~]#ls f??.txt  ##查询f后两个字符匹配的文件
fff.txt
复制代码
[root@localhost ~]#ls *.txt
a.txt  fff.txt
复制代码
[root@localhost ~]#touch {1..10}.txt  ##创建名字1-10的txt文件
[root@localhost ~]#ls {1..10}.txt ##查询名字1-10的txt文件
10.txt  1.txt  2.txt  3.txt  4.txt  5.txt  6.txt  7.txt  8.txt  9.txt
复制代码

4. alias(临时修改)

4.1 alias

alias 命令别名 = ‘命令’
复制代码
[root@localhost ~]#alias myvim='vim /etc/sysconfig/network-scripts/ifcfg-ens33'  ##创建别名
[root@localhost ~]#myvim  ##使用别名
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=efd7568d-1edb-4fa5-a50e-14f71303df83
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.200.100
NETMASK=255.255.255.0
GATEWAY=192.168.200.2
DNS1=8.8.8.8
DNS2=114.114.114.114
复制代码

4.2 unalias

unalias 别名命令 删除别名
复制代码
[root@localhost ~]#unalias myvim  ##删除别名
[root@localhost ~]#myvim
-bash: myvim: 未找到命令
复制代码

4.3 命令优先级别

别名>内部>hash>外部

5. du

du(disk use) 查看文件或目录 占用磁盘的空间大小

选项说明
-a分开显示每个文件的大小
-s显示当前文件夹的 总大小
-h人性化显示

5.1 du和ls的区别

  • du  只是统计文件所占磁盘的大小
  • ls  显示文件实际大小   

5.2  a和s不能同时使用

[root@localhost ~]#du -as
du: 不能既显示总用量,同时又显示每个项目
Try 'du --help' for more information.
复制代码

5.3  /etc 目录 下 第一层文件夹占用多少磁盘空间?

 du   -d 1  /etc     
 -d   代表目录层数     
  1   代表目录层数的第一层
复制代码

答案

[root@localhost ~]#du -d 1 /etc/
948     /etc/pki
12      /etc/rpm
40      /etc/yum.repos.d
24      /etc/yum
136     /etc/lvm
0       /etc/pkcs11
0       /etc/cron.monthly
4       /etc/rwtab.d
12      /etc/cron.daily
4       /etc/sasl2
8       /etc/groff
36      /etc/iproute2
72      /etc/grub.d
28      /etc/logrotate.d
68      /etc/openldap
0       /etc/gnupg
8       /etc/dhcp
604     /etc/ssh
4       /etc/depmod.d
4       /etc/my.cnf.d
96      /etc/dbus-1
0       /etc/dracut.conf.d
12      /etc/modprobe.d
0       /etc/binfmt.d
64      /etc/profile.d
0       /etc/modules-load.d
32      /etc/systemd
0       /etc/sysctl.d
4       /etc/rsyslog.d
4       /etc/X11
4       /etc/bash_completion.d
0       /etc/opt
0       /etc/pm
12      /etc/skel
340     /etc/sysconfig
0       /etc/xdg
复制代码

6. mkdir

mkdir (创建空文件夹)

命令格式:mkdir [选项] 需要创建的文件夹
-p  递归创建文件夹
-v  显示详细过程
复制代码
[root@localhost data]#mkdir a  ##创建一个名叫a的文件夹
[root@localhost data]#ls  ##查看当前目录的文件
a
[root@localhost data]#mkdir -p aa/bb/cc  ##在当前目录下创建aa/bb/cc三层文件夹
[root@localhost data]#tree  ##查看目录分层
.
├── a
└── aa
    └── bb
        └── cc

4 directories, 0 files
复制代码
[root@localhost data]#mkdir -pv 11/22/33  ##创建分层目录并显示过程
mkdir: 已创建目录 "11"  
mkdir: 已创建目录 "11/22"
mkdir: 已创建目录 "11/22/33"
复制代码

7. touch

命令格式:touch  需要创建的文件
如果当前文件夹下没有同名的文件,touch   文件名   ##新建一个文件
复制代码
[root@localhost opt]#touch 1.txt  ##创建1.txt文件
[root@localhost opt]#ls  ##查看当前目录下的文件
1.txt
复制代码
如果当前文件夹下有同名的文件 ,刷新修改此文件的时间
复制代码

转存失败重新上传取消

8. 软连接和硬连接

软连接格式:ln  -s  源文件(夹)路径    目标文件夹路径
源文件(夹)路径一定是绝对路径
复制代码
对比项 硬链接软链接
本质本质是同一个文件本质不是同一个文件
inode相同不同
连接数创建新的硬链接,链接数会增加,删除硬链接,链接数减少删除,新建都不会改变
文件夹不支持支持
删除源文件只是链接数减一,但链接文件的访问不受影响无法访问连接文件 
文件类型和源文件相同链接文件,和源文件无关
文件大小和源文件相同源文件的路径的长度
查看Inode号:ls -i
复制代码

9. cp

命令格式:cp [选项] 需要复制的文件(夹) 复制到的目录
复制代码
-f有相同文件时强制覆盖不提醒
-i有相同文件时覆盖提醒
-p保留文件的源权限
-r    复制文件夹一定需要
-a  保留权限 更强大 包括连接文件的属性也可以保留建议使用-a  

  转存失败重新上传取消

10. mv

命令格式:mv [选项] 需要移动的文件(夹) 移动到的目录
功能:移动和改名
复制代码
选项说明
-f强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖
-i交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项);
-n如果目标文件已经存在,则不会覆盖移动,而且不询问用户
-v显示文件或目录的移动过程;

[root@localhost opt]#mv /data/ ./dat  ##移动data到当前目录下并改名
[root@localhost opt]#ls  ##查看当前目录下的文件
1.txt  dat
复制代码

11. rm

命令格式:rm [选项] 要删除的文件或目录
复制代码
选项说明
-f强制
-i交互
-r递归(删除目录需要)
[root@localhost opt]#ls  /*查看当前目录*/
1.txt  dat
[root@localhost opt]#rm -rf /opt/*  ##强制删除opt目录下的所有文件
[root@localhost opt]#ls  ##查看当前目录
[root@localhost opt]#
复制代码

12. 查询命令

12.1 which

命令格式:which 需要找的东西
复制代码

只能找命令的位置:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

[root@localhost ~]#which which
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
        /usr/bin/alias
        /usr/bin/which
复制代码

12.2 locate

工作特点

1.模糊查询
2.不是实时查询
复制代码
选项说明
-i不区分大小写的搜索
-n#只列举前#个匹配项目
-r支持正则
linux系统中有一个文件数据库,是去找这个数据库,找那些一直不改变的文件
应用范围比较窄
优点:巨快
updatedb  刷新数据库   
复制代码

12.3 find

优点:

  • 默认递归查询

  • 它是真的去硬盘上一个一个文件给你找(实时)

  • 查找条件巨多

  • 精确查找

      基本格式:
           find    [查找范围]    [查找条件表达式]
           [查找范围]: 如果 不写 范围 代表 默认当前目录
    复制代码

按查找文件名字查找 -name

[root@localhost data]#find /boot/  -name  'vm*  ##查找名字是以vm开头的文件'     
/boot/vmlinuz-3.10.0-693.el7.x86_64
/boot/vmlinuz-0-rescue-869dbd607e5e4f758fa152ef2229f2b6
复制代码

按文件大小查找文件 -size

[root@localhost data]#find /boot/  -size  +1024k  #查找boot目录下  大于1024k 的文件
[root@localhost data]#find /boot/  -size  -1M   #查找boot目录下  小于1M的文件

注意点:文件大小不加加减号是一定的范围,单位越精确越好

[root@localhost data]#find   /boot/  -size  1024k   
[root@localhost data]#find   /boot/  -size  1M            
复制代码

范围公式:

1024k     1023k    到   1024k
 1M       1字节    到    1M
复制代码

按文件属主查找 -user

属主:文件的拥有者

[root@localhost data]#find /home/ -user can  #找到home 目录下 属于can用户的文件

复制代码

  按文件类型查找 -type

选项说明
f普通文件
d目录
c字符文件
b块设备
[root@localhost data]#find /dev/ -type b  #找到/dev下的块设备文件
复制代码

按照 indoe号查找 -inum 

[root@localhost mnt]#ls -i  ##查看inode号
100724114 1.txt     416842 aa   33596393 hgfs
[root@localhost mnt]#find -inum 100724114  ##按照inode号查询
./1.txt
复制代码

  按照目录层级查找文件 -maxdepth level -mindepth level

[root@localhost ~]#find /boot/ -maxdepth 1 -mindepth 1  ##只看boot目录下的第1层
/boot/efi
/boot/grub2
/boot/grub
/boot/.vmlinuz-3.10.0-693.el7.x86_64.hmac
/boot/System.map-3.10.0-693.el7.x86_64
/boot/config-3.10.0-693.el7.x86_64
/boot/symvers-3.10.0-693.el7.x86_64.gz
/boot/vmlinuz-3.10.0-693.el7.x86_64
/boot/initrd-plymouth.img
/boot/initramfs-0-rescue-8f6e7ca6206141ecb291f991a1e04432.img
/boot/vmlinuz-0-rescue-8f6e7ca6206141ecb291f991a1e04432
/boot/.vmlinuz-3.10.0-1160.71.1.el7.x86_64.hmac
/boot/System.map-3.10.0-1160.71.1.el7.x86_64
/boot/config-3.10.0-1160.71.1.el7.x86_64
/boot/symvers-3.10.0-1160.71.1.el7.x86_64.gz
/boot/vmlinuz-3.10.0-1160.71.1.el7.x86_64
/boot/initramfs-3.10.0-693.el7.x86_64kdump.img
/boot/initramfs-3.10.0-1160.71.1.el7.x86_64.img
/boot/initramfs-3.10.0-693.el7.x86_64.img
复制代码

天数查找文件 -mtime       

root@localhost ~]#find /boot/ -mtime +7 -type f -size +1M  ##找到 7天以上且文件类型为普通文件且大于1M的文件 
/boot/grub2/fonts/unicode.pf2
/boot/System.map-3.10.0-693.el7.x86_64
/boot/vmlinuz-3.10.0-693.el7.x86_64
/boot/initramfs-0-rescue-8f6e7ca6206141ecb291f991a1e04432.img
/boot/vmlinuz-0-rescue-8f6e7ca6206141ecb291f991a1e04432
/boot/System.map-3.10.0-1160.71.1.el7.x86_64
/boot/vmlinuz-3.10.0-1160.71.1.el7.x86_64
复制代码

处理动作

处理动作说明
print输出屏幕让你看一下
ls      显示详细信息
delete 直接删除
ok     连接符会询问
exec  连接符不会询问
find -name "*.txt"  -ok mv {} /mnt \; ## 找到名字以txt结尾的文件并移动到mnt目录下
-ok  处理动作连接前面后面的命令会询问你要不要这样处理
mv {}  代指前面 find找到的文件 
/mnt 移动到的目录  
\;固定格式
复制代码

find -name '*.txt' -ok  mv {}  /mnt  \;   ## 会询问
find -name '*.txt' -exec mv {} /mnt \;  ##不会询问
复制代码


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值