Linux学习及常用命令

Linux简介

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。
Linux能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统

Linux知识点
  1. Linux目录结构

    /bin: bin是Binary的缩写, 这个目录存放着最经常使用的命令
    /boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件
    /dev: dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的
    /etc: 这个目录用来存放所有的系统管理所需要的配置文件和子目录
    /home: 用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的
    /lib: 这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件,几乎所有的应用程序都需要用到这些共享库
    /lost+found: 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件
    /mnt: 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了
    /opt: 这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的
    /proc: 这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息,这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件
    /root: 该目录为系统管理员,也称作超级权限者的用户主目录
    /sbin: s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序
    /selinux: 这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的
    /srv: 该目录存放一些服务启动之后需要提取的数据
    /tmp: 这个目录是用来存放一些临时文件的
    /usr: 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录
    /usr/bin: 系统用户使用的应用程序
    /usr/sbin: 超级用户使用的比较高级的管理程序和系统守护程序
    /usr/src: 内核源代码默认的放置目录
    /var: 这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下,包括各种日志文件
    在linux系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件,/etc:这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动;/bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在/bin/ls 目录下的;值得提出的是,/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给root使用的指令;/var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在/var/log 目录下,另外mail的预设放置也是在这里

  2. Linux文件属性
    Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定;


    从左至右用0-9这些数字来表示,第0位确定文件类型,第1-3位确定属主(该文件的所有者)拥有该文件的权限;第4-6位确定属组(所有者的同组用户)拥有该文件的权限,第7-9位确定其他用户拥有该文件的权限;其中,第1、4、7位表示读权限,如果用”r”字符表示,则有读权限,如果用”-“字符表示,则没有读权限;第2、5、8位表示写权限,如果用”w”字符表示,则有写权限,如果用”-“字符表示没有写权限;第3、6、9位表示可执行权限,如果用”x”字符表示,则有执行权限,如果用”-“字符表示,则没有执行权限。
    对于文件来说,它都有一个特定的所有者,也就是对该文件具有所有权的用户。同时,在Linux系统中,用户是按组分类的,一个用户属于一个或多个组。文件所有者以外的用户又可以分为文件所有者的同组用户和其他用户。因此,Linux系统按文件所有者、文件所有者同组用户和其他用户来规定了不同的文件访问权限。在以上实例中,bin文件是一个目录文件,属主和属组都为root,属主有可读、可写、可执行的权限;与属主同组的其他用户有可读和可执行的权限;其他用户也有可读和可执行的权限
    Linux文件属性有两种设置方法,一种是数字,一种是符号
    Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限。
    先复习一下刚刚上面提到的数据:文件的权限字符为:『-rwxrwxrwx』, 这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:
    r:4
    w:2
    x:1
    每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为:[-rwxrwx—] 分数则是:
    owner = rwx = 4+2+1 = 7
    group = rwx = 4+2+1 = 7
    others= — = 0+0+0 = 0
    所以等一下我们设定权限的变更时,该文件的权限数字就是770啦!变更权限的指令chmod的语法是这样的:

    1
    2
    3
    4
    chmod [-R] xyz :修改文件属性
    xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加
    -R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有文件都会变更
    eg: chmod -R 777 lidaofu 将lidaofu目录下的权限全部启用
Linux常用命令
1
2
touch [args]:创建一个新文件
eg: touch "lidaofu.txt":创建一个lidaofu.txt的文件
1
2
man [args]:显示指定命令的帮助信息
eg: man ls:显示ls命令的帮助信息
1
2
cat [options:-n] [args]:显示文件的内容,参数n表示显示行号
eg: cat -n /user/lidaofu.txt:显示lidaofu.txt这个文件并显示行号
1
2
3
4
5
6
7
ls [options:-a,-l,-d,-t,-R][args]:显示指定目录
-a(all):显示所有的文件和子目录,包括隐藏文件和隐藏子目录
-l(list):显示文件和子目录的列表信息
-d(directory):如果参数是目录,只显示目录的信息
-t(time):按照时间顺序显示文件
-R(recursive):不仅显示指定目录下的文件和子目录信息,而且递归地显示子目录中的文件和子目录信息
eg: ls -al /home :显示home目录下的所有文件,包含隐藏的文件
1
2
cp [args1] [args2]:复制文件
eg: cp haproxy-1.4.24.tar.gz /usr/src/ 将文件复制到/usr/src目录下
1
2
3
4
5
6
7
8
rm [options][args]:删除文件或目录
-d或--directory:直接把欲删除的目录的硬连接数据删成0,删除该目录。
-f或--force:强制删除文件或目录。
-r或-R或--recursive:递归处理,将指定目录下的所有文件及子目录一并处理。
-i或--interactive:删除既有文件或目录之前先询问用户。
-v或--verbose: 显示指令执行过程
eg: rm haproxy-1.4.24.tar.gz 删除文件
eg: rm -rf /lidaofu/test 强制删除test目录及子文件
1
2
cd [args]:改变工作目录
cd .. : 切换到父目录
1
2
3
mkdir [args]:创建目录
eg: mkdir /lidaofu/test
eg: mkdir -p /lidaofu/test/a 新建多级不存在的目录
1
pwd :显示当前目录的绝对路径
1
ifconfig :显示网络接口信息
1
su :变更用户身份
坚持原创技术分享,您的支持将鼓励我继续创作!