linux学习笔记2

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux学习笔记2相关的知识,希望对你有一定的参考价值。

2016-09-26

    给初学者的建议
      所有命令都是小写;
      严格区分大小写;
      不以后缀区分文件类型,但我们手动书写以帮助辨认。
        压缩包:.gz/.bz2/.tar.bz2/.tgz
        二进制软件包:.rpm
        网页文件:.html/.php
        脚本文件:.sh
        配置文件:.conf
      所有内容以文件形式保存,包括硬件、配置。
      所有设备都必须挂载后用户才能使用,如硬盘、U盘和光盘
      不能直接运行windows程序

    服务器的管理和维护建议
      /bin/ 存放系统命令的目录,普通用户和超级用户都可以执行。不过放在bin下的命令在单用户模式下也可以执行。
      /sbin/ 保存和系统环境设置相关的命令,只有超级用户可以使用这些命令进行系统环境设置,但是有些命令允许普通用户查看。
      /usr/bin/ 存放系统命令的目录,普通用户和超级用户都可以执行。这些命令和系统启动无关,单用户模式(相当于windows的安全模式,最小化模式)下不能执行。
      /usr/sbin/ 存放根文件系统不必要的系统管理命令,例如多数服务程序。只有超级用户可以使用。linux在所有sbin目录中保存的命令只有超级用户可以使用,bin中保存的所有用户都可以使用。
      /boot/ 系统启动目录,保存系统启动相关的文件。如内核文件和启动引导程序,grub文件等。
      /dev/ 设备文件保存位置。
      /etc/ 配置文件保存位置。系统内所有采用默认安装方式(rpm安装)的服务配置文件全部都保存在这个目录当中,如用户账户和密码,服务的启动脚本。
      /home/ 普通用户的家目录。建立每个用户时,每个用户要有一个默认登录位置,这个位置就是这个用户的家目录。所有普通用户的家目录就是在/home下建立一个和用户名相同的目录。如用户userl的家目录就是/home/userl
      /lib/ 系统调用的函数库保存位置
      /lost+found/ 当系统意外崩溃或机器意外关机,而产生一些文件碎片放在这里。当系统启动的过程中fsck工具会检查这里,并修复已经损坏的文件系统。这个目录只在每个分区中出现,例如/lost+found就是根分区的备份恢复目录,/boot/lost/found就是/boot分区的备份恢复目录
      /media/ 挂载目录。系统建议是用来挂载媒体设备的,例如软盘和光盘。
      /mnt/ 挂载目录。早期linux中只有这个挂载目录,并没有细分。现在这个目录系统建议挂载额外设备,如U盘,移动硬盘和其他操作系统的分区。
      /misc/ 挂载目录。系统建议是用来挂载nfs服务的共享目录。我们在刚刚已经解释了挂载,应该知道只要是一个已经建立的空目录就可以作为挂载点。那么系统虽然准备了三个默认挂载目录/media、/mnt、/misc,但到底在哪个目录中挂载什么设备都可以由管理员自己决定。例如在以前linux默认挂载目录只有/mnt一个,所以养成了在/mnt下建立不同目录挂载不同设备的习惯。如/mnt/cdrom挂载光盘,/mnt/usb挂载U盘。
      /opt/ 第三方安装软件保存位置。手工安装的源码包软件都到这个目录。不过有人习惯把软件放置到/usr/local/目录中。
      /proc/ 虚拟文件系统,此目录中的数据并不保存到硬盘当中。而是保存到内存当中。主要保存系统的内核、进程、外部设备状态和网络状态灯。如/proc/cpuinfo是保存cpu信息的,/proc/devices是保存设备驱动列表的,/proc/filesystems是保存文件系统列表的,/proc/net是保存网络协议信息的。
      /sys/ 虚拟文件系统。和/proc目录相似。都是保存在内存当中的,主要是保存与内核相关的信息。
      /root/ 超级用户的家目录。普通用户家目录在/home下,超级用户用户的家目录直接在/下。
      /srv/ 服务数据目录。一些系统服务启动之后,可以在这个目录中保存所需要的数据。
      /tmp/ 临时目录。系统存放临时文件的目录。此目录下所有用户都可以访问和定稿。建议在此目录中不要保存重要数据,每次开机建议清空。
      /usr/ 系统软件资源目录。注意usr不是user的缩写,而是unix softwre resourct 的缩写。所以不是存放用户数据。系统中安装的软件大多数保存在这里。
      /var/ 动态数据保存位置。主要保存缓存、日志及软件运行所产生的文件。

    服务器注意事项
      远程服务器不允许关机,只能重启。
      重启前应该关闭服务。
      不要在服务器访问高峰(晚8点多,凌晨3-5点少)运行高负载(大数据解压缩、扫描、复制)命令
      远程配置防火墙(使用ip、包数据、mac、端口等过滤数据)时不要把自己踢出服务器
      指定合理的密码规范并定期更新
      合理分配权限(越少越好)
      定期备份重要数据和日志

    linux常用命令
      clear或ctrl+l,清屏。ctrl+c终止执行。
      命令格式:命令 [-选项] [参数]
        例如:ls -la /etc
      说明:
        选项是选择命令的功能,参数命令的操作对象。[]代表可选。
        1 个别命令使用不遵循此格式
        2 当有多个选项时,可以写在一起,可以交换位置
        3 简化选项与完整选项,如-a等于--all

      目录处理命令: ls
        命令名称: ls
        命令英文原意: list
        命令所在路径: /bin/ls
        执行权限: 所有用户
        功能描述: 显示目录文件
        语法: ls 选项[-ald] [文件或目录]
          -a all 显示所有文件,包括隐藏文件,在linux中以.点开头的是隐藏文件。隐藏的意义不是为了让用户看不见,再是告诉用户这是一个系统文件。
          -l long 详细信息显示,如下命令结果。

            [[email protected] ~]# ls -l
            总用量 44
            -rw-------. 1 root root  1208 9月  26 00:05 anaconda-ks.cfg
            -rw-r--r--. 1 root root 24772 9月  26 00:05 install.log
            -rw-r--r--. 1 root root  7690 9月  26 00:04 install.log.syslog

            [[email protected] ~]# ls -l /etc/grub.conf
            lrwxrwxrwx. 1 root root 22 9月  26 00:05 /etc/grub.conf -> ../boot/grub/grub.conf

            分成7个部分:
              第1部分,有10个字符。
                第1个字符-表示文件类型(-二进制文件,d目录,l软件链接文件,r读,w写,x执行);
                后面的每2个字符分别表示三种用户的相应权限。
                如 -rw-r--r--
                  - 表示这是一个二进制文件
                  rw- 表示u所有者的使用权限为rw 。为什么所有者也没有x执行权限而空有rw权限?因为之前说过,权限不在多,够用就好。普通文件不需要执行权限,所以没有。当它作为一个脚本可执行文件时会有。
                  r-- 表示g所属组的使用权限为r
                  r-- 表示o其他人的使用权限为r
              第2部分,引用计数:1表示文件引用计数,代表这个文件曾经被引用或调用过几次。
              第3部分,文件和用户的关系:
              1.所有者 u(默认是创建者,只能有一个,可改变),
              2.所属组 g(只能有一个组,相同类型的用户),
              3.其他人 o 。
              第4部分,第一个root是所有者,第二个root是所属组名称。
              第5部分,文件大小,默认为字节。可以使用 -lh 以不同单位显示大小。
              第6部分,创建时间。(小文觉得:视频说windows没有创建时间这一说?而我觉得有的。只是在windows的列属性里默认没有显示,但可以在列名称栏右键,显示出来,足有几十总属性。)
          -d 查看目录属性
            [[email protected] ~]# ls -ld /etc
            drwxr-xr-x. 102 root root 12288 9月  26 16:35 /etc
          -h 以适合单位显示大小
          -i 显示文件ID

      总结:
        ls -a -l -d -h -i

      目录处理命令: mkdir
        命令名称: mkdir
        命令英文原意: make directories
        命令所在路径: /bin/mkdir
        执行权限: 所有用户
        语法: mkdir -p [目录名]
        功能描述: 创建新目录
          -p 递归创建
        范例: mkdir -p /tmp/a/b 使用p选项创建a目录,并在a目录下创建b目录
               mkdir /tmp/a/c /tmp/a/d 同时在a目录下创建c和d两个目录

      目录处理命令: cd
        命令名称: cd
        命令英文原意:change directory
        命令所在路径: shell内置命令
        执行权限: 所有用户
        语法: cd[目录]
        功能描述: 切换目录
        范例: cd /tmp/a/b 切换到指定目录
               cd.. 回到上一级目录,两个..点,一个.点表示当前目录。

      目录处理命令: pwd
        命令名称: pwd
        命令英文原意: print working directory
        命令所在路径: /bim/pwd
        执行权限: 所有用户
        语法: pwd
        功能描述: 显示当前目录
        范例: pwd

      目录处理命令: rmdir (小文:视频上是文件处理命令)
        命令名称: rmdir
        命令英文原意: remove empty directories
        命令所在路径: /bin/rmdir
        执行权限: 所有用户
        语法: rmdir[目录名]
        功能描述: 删除空目录
        范例: rmdir /tmp/a

      目录处理命令: cp
        命令名称: cp
        命令英文原意: copy
        命令所在路径: /bin/cp
        执行权限: 所有用户
        语法:cp -rp [原文件或目录][目标目录]
          -r 复制目录
          -p 保留文件属性
        功能描述: 复制文件或目录
        范例: cp /etc/grub.conf /tmp #复制文件到tmp下
               cp /root/install.log /root/install.log.syslog /tmp #复制多个文件到tmp下
               cp -r /tmp/a /tmp/b #复制目录a到目录b下
               cp -r /tmp/a /tmp/b/a2 #复制目录a到目录b下并改名为a2
               cp -rp /tmp/a /tmp/c #复制目录a到目录c下并保持目录属性

      目录处理命令: mv
        命令名称: mv
        命令英文原意: move
        命令所在路径: /bin/mv
        执行权限: 所有用户
        语法: mv [原文件或目录] [目标目录]
        功能描述: 剪切(移动)文件、改名
        范例: mv /tmp/a /tmp/b

      目录处理命令: rm
        命令名称: rm
        命令英文原意: remove
        命令所在路径: /bin/rm
        执行权限: 所有用户
        语法: rm -rf [文件或目录]
          -r 删除目录
          -f 强制执行
          功能描述: 删除文件

      目录处理命令: mv
        命令名称: mv
        命令英文原意: move
        命令所在路径: /bin/mv
        执行权限: 所有用户
        语法: mv [原文件或目录] [目标目录]
        功能描述: 剪切(移动)文件、改名
        范例: mv /tmp/a /tmp/b

      总结:
        mkdir -p cd pwd rmdir cp -r -p rv rm -r -f

      目录处理命令: touch
        命令名称: touch
        命令英文原意:
        命令所在路径: /bin/touch
        执行权限: 所有用户
        语法: touch [文件名]
        功能描述: 创建空文件
        范例: touch a.list
          若需要创建带空格的文件名,用引号即可。在Linux中除了斜杠/不能做名称外其他都可以。但不推荐。

      文件处理命令: cat
        命令名称: cat
        命令英文原意:
        命令所在路径: /bin/cat
        执行权限: 所有用户
        语法: cat [文件名]
        功能描述: 显示文件内容
          -n 显示行号
        范例: cat /etc/issue
               cat -n /etc/issue

      文件处理命令: tac
        命令名称: tac
        命令英文原意:
        命令所在路径: /usr/bin/tac
        执行权限: 所有用户
        语法: tac [文件名]
        功能描述: 显示文件内容(反向列示)
        范例: tac /etc/issue

      文件处理命令: more
        命令名称: more
        命令英文原意:
        命令所在路径: /bin/more
        执行权限: 所有用户
        语法: more [文件名]
          (空格)或f 翻页
          (回车) 换行
          q或Q 退出
        功能描述: 分布显示文件内容
        范例: more /etc/services

      文件处理命令: less
        命令名称: less
        命令英文原意:
        命令所在路径: /usr/bin/less
        执行权限: 所有用户
        语法: less [文件名]
        功能描述: 显示文件内容(可向上翻页)
          /关键词 查找关键词
        范例: less /etc/services

      文件处理命令: head
        命令名称: head
        命令英文原意:
        命令所在路径: /usr/bin/head
        执行权限: 所有用户
        语法: head [文件名]
        功能描述: 显示文件前面几行
        范例: head -n 20 /etc/services 显示文件前20行,或不加选项,默认为10行。

      文件处理命令: tail
        命令名称: tail
        命令英文原意:
        命令所在路径: /usr/bin/tail
        执行权限: 所有用户
        语法: tail [文件名]
        功能描述: 显示文件最后几行
          -n 指定行数
          -f 动态显示后几行变化
        范例: tail -n 20 /etc/services

      总结:
        touch cat -n tac more less head -n tail -n -f

      文件处理命令: ln
        命令名称: ln
        命令英文原意: link
        命令所在路径: /bin/ln
        执行权限: 所有用户
        语法: ln -s [原文件] [目标文件]
          -s 创建软连接
        功能描述: 生成链接文件
        范例:
          #创建文件 /etc/issue 的软链接 /tmp/issue.soft
          [[email protected] ~]# ln -s /etc/issue /tmp/issue.soft
          #创建文件 /etc/issue 的硬链接 /tmp/issue.hard
          [[email protected] ~]# ln /etc/issue /tmp/issue.herd
          #查看原文件信息
          [[email protected] ~]# ls -l /etc/issue
          131148 -rw-r--r--. 2 root root 47 6月  26 2012 /etc/issue
          #查看软链接信息
          [[email protected] ~]# ls -l /tmp/issue.soft
          19 lrwxrwxrwx. 1 root root 10 9月  28 12:16 /tmp/issue.soft -> /etc/issue
          #查看硬链接信息
          [[email protected] ~]# ls -l /tmp/issue.herd
          131148 -rw-r--r--. 2 root root 47 6月  26 2012 /tmp/issue.herd
        软链接特征:类似windows快捷方式
          1、lrwxrwxrwx l软链接,软链接的实际权限实际文件决定,有->对应标识;
        硬链接特征:比较像cp -p + 同步更新,与实际文件实时更新(文件ID与原文件相同),但无->对应指向,不能跨分区,不支持目录。
          建立硬链接后,修改原文件硬链接也会同步修改,但删除原文件却不影响硬链接。
          硬链接的文件ID与原文件相同,所以能同步改变。
          在实际应用中硬链接并不多用,在多个用户同时修改一个文件时可用。

 

以上是关于linux学习笔记2的主要内容,如果未能解决你的问题,请参考以下文章

linux学习笔记2-linux的基本命令

Linux学习笔记

linux 学习笔记2 chgrp chmod chown

嵌入式Linux学习笔记基础命令。——Arvin

Linux学习笔记

Linux学习笔记:Linux常用命令操作