Linux常用命令学习1---(安装、文件系统、目录操作命令cd ls mv cp rm mkdir、链接命令ln……)

1.理解Linux的文件系统:分区和挂载点
    挂载点和路径名无关 /根目录下的/boot完全可以时独立于 /的独立的挂载点,只要你设置就可以
    linux安装时候,必须要有这两个分区 / 和 swap
        交换分区:虚拟内存,在生产环境中,建议4G以内的内存,swap应该是内存的两倍,如果是4G以上的内存,那就分和内存一样大就好了
        但是还是推荐 单独分出来/boot 分区(启动分区)
            如果没有手动分出挂载点/boot,那么/boot就是在挂载点/中的一块存储空间,假如/中存满了,那也就没有 /boot的空间了,那么就无法启动操作系统了
            让boot单独有自己的挂载点,而不是让 /boot 在/ 中,就可以保证总有充足的空间来启动系统,给它分配200MB就够了
        当然也就可以为/home、/bin……单独分出来挂载点,也可以直接共用/ 挂载点的空间
    文件索引表和block 块,(文件索引表:inode、时间、存储位置)

2.对于自己的很多的常用的、重要的帐号密码,要时常(每3个月左右)更改一次密码,这样会更安全

3.安装日志
    /root/install.log:存储了安装在系统中的软件包及其版本信息
    /root/install.log.syslog:存储了安装过错中留下的事件记录
    /root/anaconda-ks.cfg:以KickStart配置文件的格式记录安装过程中设置的选项信息

4.网络批量安装:

 假如我需要搭建很多太服务器(比如几百几千台),那我不能每一台都要去动手安装,这样会很傻比。应该采用的方法是:自己手动安装一台服务器,然后将其记录在 /root/anaconda-ks.cfg文件中(这个Kickstart配置文件记录安装过程中设置的选项信息),然后其他所有的服务器都依赖于这个文件进行安装。这个文件就是重要的安装模板文件

5.远程管理工具

    在Windows上可以安装远程管理工具,来连接Linux服务器并方便进行管理,比如XShell软件
    建议选择更安全的SSH协议,而不是选择不太安全的Telnet协议

6.命令的基本格式:命令 [选项] [参数]
    注意:个别命令不遵守这个格式
    当有多个选项时,可以写在一起
    简化选项与完整选项,例如:-a等于 --all(完整选项一般用--调用,简化选项一般用-调用)
    
7.主机名

    在Windows中同一个局域网中的用户不能使用同一个主机名,否则不能上网。
  但是在Linux中,对于主机名没有任何限制,在Linux中是通过IP地址来识别计算机的


8.常用快捷键
    命令行
        Ctrl+L:清屏,相当于 clear
    图形界面
        Ctrl+PgUp:切换到上一个Tab;Ctrl+PgDn:切换到下一个Tab

9.ls [选项] [文件或目录]
    -a:显示所有文件,包括隐藏文件;-l:显示详细信息;-d显示目录属性;-h:人性化显示文件大小;-i:显示inode(每个文件都有自己的ID号,也就是inode)
    ls -l显示的文件属性的第二列表示文件的引用计数(与硬连接有关)

10.目录处理命令
    建立目录命令:mkdir -p [目录名],其中-p:表示递归创建(在创建多级目录时用-p,例如mkdir -p test/test1;创建单级目录时不用:mkdir test)
    切换目录命令:cd [目录名],cd -:表示回到上次目录
    显示当前目录路径:pwd
    删除空目录:rmdir,不能删除目录中有文件的目录
    删除目录/文件:rm,其中-r:表示删除目录;-f:表示强制。删除文件的时候一定要小心,尤其是一些重要的文件、目录
    拷贝命令:cp [选项] [源文件或目录] [目标目录],-r:复制目录;-p:连带文件属性复制;-d:若源文件是链接文件,则复制链接属性;-a:相当于 -pdr
    剪切或改名命令:mv [源文件或目录] [目标目录或文件名],操作目录的时候不用加 -r

11.常用的目录的作用
    /:根目录
    /usr:系统软件资源目录
    /bin、/sbin、/usr/bin、/usr/sbin都是用来保存系统命令的
        /bin、/usr/bin下的命令是所有用户都可以执行的命令
        /sbin、/usr/sbin下的命令是只有root能执行的命令
    /boot:启动目录,启动相关文件
    /dev:设备文件保存目录
    /etc:配置文件保存目录
    /home:普通用户的家目录
    /lib:系统库保存目录
    /mnt:系统挂载目录
    /media:挂载目录
    /sys、/proc目录不能直接操作,这两个目录保存的是内存的挂载点,其中的数据是直接写在内存中的,所以用户不要去往里面读写数据
    /tmp:临时目录,
    /var:系统相关文档内容
    可以看出来Linux下的目录有严谨的分工,所以不能随便在某个目录下就进行练习和操作的,建议在 家目录或 /tmp下随便做练习,除非其他特殊情况

12.链接命令:

 ln -s [源文件] [目标链接] ,用于生成链接文件,-s:用于创建软链接,没有就表示是硬链接
    软链接:删除了源文件,它的软链接也不可以使用了,就相当于Windows上的快捷方式
        推荐使用软链接
        如果要创建软链接,写源文件的路径的时候一定要使用绝对路径
        软链接拥有自己的inode和 Block块,但是数据块中只保存源文件的文件名和inode,并没有实际的文件数据,通过软链接访问源文件的时候,先找到软链接自己的inode,然后根据inode找到自己的存储空间,然后通过存储空间找到源文件的inode,然后根据源文件的inode去访问源文件
        lrwxrwxrwx:l表示是软链接,软链接文件的权限都是 rwxrwxrwx,但是最终还是通过源文件的权限限制
        修改任意文件,另一个都改变
        删除源文件,软链接便不能再使用
    硬链接:删除了源文件,它的硬链接还可以使用,还是那份文件,源文件和它的硬链接就相当于对一个文件实体的不同的接入点
        假如创建了n 个硬链接,使用ls -l 的时候可以看到源文件和其硬链接的引用计数都加 n 了
        拥有相同的inode 和存储的block块,可以看作是同一个文件
        只可以通过inode 识别,源文件和它的硬链接的inode 完全相同,所以不易识别
        不能跨分区创建一个文件的硬链接
        不能针对目录使用,只有文件可,使用 ls -l的时候,显示的硬链接文件属性是-(表示是普通文件), 不是 l(表示不是软链接文件)
        不建议使用硬链接