Linux笔记

一。基础思想

  1. 一切皆文件。

  2. 两条权限原则:

    • 权限分组原则
    • 权限最小原则
  3. su是切换用户,而sudo则是用root权限执行某操作( 普通用户+sudo=安全)

  4. Linux目录

    • 系统只存在一颗文件树、从==/==开始,所有的文件都挂载在这个节点上。 ( 树型目录
    • Windows系统存在多颗文件树,以盘开始。如==C:\==D:\
    • 注意:两者斜杆不一样,正反斜杆。Linix正斜杆,Windows反斜杠。
  5. 没有返回值就是成功:执行Linux命令,无返回值即成功,有反回值有可能成功也有可能失败。

  6. 关机前需要先同步数据

    • 虽然如今Linux系统已默认执行sync。但是为了避免数据丢失,实现手动sync是好习惯。
    sync						#同步数据 
    shutdown -h now #立即关机
    shutdown -h 1		#1分钟之后关闭计算机 
    reboot					#立即重启
    
  7. 在众多Shell中,Linux系统中的文件系统因为不同的类别,颜色都是不一样的。

    d:目录 -:文件 l:链接image-20220314194812036

  8. r4、w2、x1:读写执行分别对应二进制111

  9. 记住、用户目录 /etc/passwd

  10. 只有当要修改文件时才需要vim,其余时cat即可、或者headless

  11. 可执行文件是绿色的。
  12. ping百度检查设备是否联网

    ping baidu.com
    
  13. tab提示很好用,单机或者双击的规则我已领悟。

  14. -h在Linux中是非常重要的一个参数,其在绝大多数情况下都表示显示计量单位,即可以以人可以读懂的方式去显示。如:

    ls -lh
    df -h		#查看磁盘使用情况
    du -h		#查看指定的目录(默认是当前目录)下的文件占用空间情况
    
  15. 清空或者截断文件

    > a.txt
    
    或者
    
    echo "" > a.txt
    
  16. 日常使用which来查询指令出处。

  17. 第三方软件安装应所在位置:/opt


二。基础操作

  1. ls指令

    ls -alh		#隐藏文件、长列表、方便阅读
    ls -R 	#递归子目录
    ls -r		#反序显示
    ls -S		#Size,以文件大小顺序输出
    ls -t		#按修改时间
    
    '注意
    -r:reverse
    -R:Recursive,常用于连续递归子目录
    

    image-20220317114208779

    • 第2列:硬链接数或者子目录数
    • 3/4:文件属主与属组
    • 5:文件大小(单位:字节),如果是文件夹则显示4096字节,文件则显示其内容的实际大小。
    • 6/7/8:最后修改日期
    • 9:文件名
  2. mkdir递归创建目录

    mkdir -p demo/{
         1..100}
    
  3. rmdir:仅能删除非空的目录。

  4. rm详解

    '技巧'
    rm -rf /tmp			#删除这个目录
    rm -rf /tmp/*		#删除这个目录下的所有文件,但不包括这个文件本身
    
  5. 文件查看汇总

    	cat		#	第一行开始查看文件
      tac		#	倒序
      nl		#	显示行号(相当cat -n)
      more	#
      less	#一页一页的显示,比more更好
      head	-5	#头
      tail	-10	#尾
    
  6. cat、tac详解

    • 优势:不会修改文件内容,安全。
    cat -n txt						'显示行号'
    cat a1 a2 a3 ...			'拼接文本'
    cat > a.txt						'等待输入,并且重定向至新文本'
    
    tac #反序cat
    
  7. head与tail

    head -5 txt
    tail -5 txt
    tail -f txt		'实时查看文件末尾'
    
  8. less指令

    • 优势:**动态加载。**more的升级版,less在显示文件内容时并不会整个加载,而是会根据显示需要加载动态加载,在打开大文件时具备无可比拟的优势。
    'less中查找文本'
    /abd		"向下查找
    ?abc		"向上查找
    n	下一条		N 上一条
    
  9. sort与uniq

    • uniq只能作用于连续且重复的行。
    ls -l | sort
    ls -l | sort -r 	#倒序
    
    sort a.txt | uniq -c				'-c为--count,统计重复行数
    
    uniq -d		#只输出重复行
    uniq -i		#忽略大小写
    
  10. cut详解

"参数:-f输出字段,-c输出范围字符"
ls -lh | cut -d " " -f 1 | cut -c 2-10
  1. awk详解
  • 代替cut(cut功能受限),但是远没有cut来的方便。
  • awk实际上是三位创始人的名字首字母。
  • awk只能使用单引号,支持C/C++的写法
'awk分割:以空格为分隔符( 连续空格都能算作一个 ),然后写awk表达式(支持C语言)

ls -lh | awk -F ' ' '{
   print $5,$9}'
#或者
ls -lh | awk -F ' ' '{
   printf("%s\t%s\n",$5,$9)}'
  1. dfdu磁盘查看

    df -h				'df查看整个系统'
    df -hl			'-l,将列表限制为本地文件系统
    
    du -a -h		'du查看当前文件夹、局部'
    du -h /home	'指定目录'
    
  2. free内存使用情况查看

    free -h			'-h人性化
    
  3. tree文件树显示

    yum -y istall tree
    tree /tmp
    
  4. ==\==指令

    • 允许命令换行,人性化操作。
    ls -l \
    -a
    
  5. cp复制

    • -u只更新、不复制重复的且同时间的项目,加快大文件复制
    cp 1.txt 2.txt
    -i		#交互,防止直接覆盖掉原有文件夹
    -u		#只更新,不复制重复的且同时间的项目--->加快大文件复制
    -r		#递归
    
  6. ln软、硬链接

    ln a b
    ln -s a b
    
  7. history

    history				#显示全部历史记录
    history 10		#只显示10条
    !2022					#执行第2022条记录
    !!						#执行上一条指令
    
  8. datecal

    date														#显示当前时间
    date "+%Y-%m-%d-%H-%M%-%S"			#显示指定时间
    date -s "9999-10-20"						#修改系统时间
    
    cal					#正常显示日历
    cal 2022		#显示年日历
    cal 10 2000	#月份在前
    
  9. which指令

    which ls
    
  10. findlocate(获取路径)

    • 区别:

      • find:基于硬盘查找,会从指定的目录向下递归遍历所有子目录,速度慢。

      • locate:基于数据库索引查找,需要事先执行数据库建立索引语句,速度较快。

    • 简单使用:

      find /home -name hello.txt		#正常查找
      find /home -name *.txt				#递归查找
      find /home -user thinkstu			#查找用户
      find /home -size +100M				#小于100MB
      find /home -size -100M				#大于100MB
      
      yum -y install mlocate
      updatedb
      locate xxx
      
    • 范例:

      find /etc -type d  	# 文件
      find /etc -type f 	# 文件夹
      find /etc -type l 	"但是其实grep确实也能实现这一点,方法多样"
      
      find / -type f -name "*.jpg" -size +1M |wc -l
      
      'find指令扩展:直接删除搜索出来的文件
      find find / -type f -name "*.jpg" -delete
      
      
    
    
  11. grep

    • 前景说明:常用来和cat进行管道的组合使用

    • 参数含义:

      -n		'结果显示行号
      -i		'忽略大小写
      -R 		'递归的在目录中查找
      -v		'只匹配不相符合的行
      
    • 范例:

      cat /tmp/1.txt | grep -in "yes"
      grep -in "yes" /tmp/1.txt
      
  12. alias别名、unalias取消别名

    alias								 #显示系统所有的别名
    alias custom='ls -l'
    
    • 持久化: /etc/profile
    • 常与type一起使用,查看具体的命令别名而不是全部的
  13. 立即关机

    sudo shutdown -h now
    
  14. wc统计

    • 输出文件中的行数、单词数、字节数
    cat 1.txt | sort | uniq | wc -l
    -l	#行数
    -w	#单词数
    -c	#字节数
    
  15. file确定文件类型

    file 具体文件			#事实上怕记也可以使用ls -l查看
    
  16. type显示指令类别

    • 如:shell内置的、还是alias别名定制的
    type ls
    
    [t@VM-4-3-centos man-pages-zh-CN-1.5.2]$ type ls
    ls is aliased to `ls --color=auto'
    
    [t@VM-4-3-centos man-pages-zh-CN-1.5.2]$ type man
    man is hashed (/bin/man)
    
    [t@VM-4-3-centos man-pages-zh-CN-1.5.2]$ type type
    type is a shell builtin
    
  17. uname显示系统信息

    uname -a		# 显示所有信息
    uname -r		# 显示系统内核版本
    
    [root@VM-4-3-centos]~# uname -r
    3.10.0-1160.59.1.el7.x86_64
    
  18. stat指令

    • 显示当前文件的所有信息和属性
    [root@VM-4-3-centos ~]$ stat index.html 
      File: ‘index.html’
      Size: 730             Blocks: 8          IO Block: 4096   regular file
    Device: fd01h/64769d    Inode: 397149      Links: 1
    Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
    Access: 2022-03-29 11:58:49.895527049 +0800
    Modify: 2022-03-29 11:58:49.062502555 +0800
    Change: 2022-03-29 11:58:49.062502555 +0800
     Birth: -
    
  19. netstat指令在网络配置中详解

  20. mount挂载、unmount卸载

mount 		#不加任何参数
'显示所有的挂载情况,包括硬盘、网卡、音箱等设备
'格式:device    on    mount_point    type   filesystem_type
  1. lsblk查看系统挂载情况
[root@004 ~]$ lsblk			'lsblk即:list block
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sr0     11:0    1 159.1M  0 rom  
vda    253:0    0    80G  0 disk 
└─vda1 253:1    0    80G  0 part /
  1. fstab文件查看存储设备情况

    cat /etc/fstab
    
  2. top网络配置章节详细介绍。

  3. iotop查看io读写情况

    • 说明:io读写也是瓶颈,观察哪些用户正在疯狂的io,从而禁掉。

    • 动态显示( 默认未安装,故

评论 89
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值