Linux笔记

avatar
作者
筋斗云
阅读量:2

一。基础思想

  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,从而禁掉。

    • 动态显示( 默认未安装&#x

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!