linux常用知识点和命令总结

系统常用命令:

①  查看当前目录:pwd

②  切换目录 cd

③  查看目录文件信息  查看文件详细信息stat

a)    Ls //列出文件信息

b)    Ls -l //以详细信息方式列出文件信息

c)     Ls-al  //以详细信息方式列出所有文件信息,包含隐藏文件

d)    Ls 目录名 //查看改目录的文件信息

e)    Ll  //等同于ls -l

④  查看当前用户

Whoami  //查看当前操作用户。

Who am I  //查看当前登录用户的信息

⑤  切换用户  su    su –

Exit   注销当前用户,返回前一用户,用户切换是一层一层进行叠加,所以是一层一层的退出。

⑥  图形界面和字符界面切换

a)    Init 3//切换到字符界面

b)    Init 5//切换到图形界面

 

 

文件的目录:

       Linux的分区:Linux的目录结构是一个以/(根目录)为根节点的树形结构

Linux有个基本思想:一切都是文件就是系统中的所有都可以归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。

/bin 存放二进制可执行文件(命令),所有用户都可以使用

/sbin 存放二进制可执行文件,只有root用户可以使用

/boot 系统启动需要的核心文件

/dev 设备目录

/home 用户的主目录

/lib 系统共享动态链接库

/mnt 挂载目录,通常挂载到该目录下

/etc 存放系统配置文件目录

/etc/passswd 用户信息文件

  /etc/group 用户组信息文件

/var 用来存放常态性变动的文件,经常发生变化的文件。比如缓存、登录文件,mysql数据库文件等

/tmp  临时目录,用来存放临时文件

/proc 虚拟目录,是内存的映射,可以访问到内存中的系统信息

/sys 和proc类似,存放和内核相关的信息和数据

/root root用户的主目录

/usr 存放应用程序和文件(类似于windows的system32、program files目录)

/usr/bin、/usr/sbin:这是对/bin、/sbin的一个补充

 

目录的操作:

       创建目录:

              Mkdir 目录名   //创建一个目录

              Mkdir -p 目录1/目录2/目录3…… //递归创建目录

       删除目录

              Rmdir 目录名     删除空目录

              Rmdir  -p dir1/dir2/dir3……    递归删除目录

              这里的rmdir只能删除空目录,里面有内容不能删除 。

              Rm-r 目录名  //删除目录和目录的所有内容

              Rm-rf 路径    //可以删除文件和目录

              Rm文件名    //删除一个文件。

       修改目录

              这里所说的修改,其实就是文件的移动。

              Mv dir1 dir2    //dir2不存在,将dir1目录名修改为dir2

              Mv dir1 dir2    //dir2存在,将dir1目录移动到dir2中

              是移动还是改名,就看第二参数路径是否存在,存在就是移动,不存在就是修改。

       复制目录

              Cp -r dir1 dir2  //将dir1复制一份到dir2目录(包含目录内容一起复制)

              Cp file1 file2  //将文件file1复制一份为file2

              Cp file1 dir1/file2  //将文件file1复制一份到dir1目录,名称为file2。

相对路径和绝对路径

  绝对路径:/(根目录)开头的路径(例如/home、/etc/passwd)

相对路径:./开头的路径,./可以省略(指相对于当前路径)

./    表示当前目录

../  表示上一级目录

路径的最后一个斜杠可以省略

特殊目录 ~表示用户主目录

快速切换目录

cd ~  //切换到用户主目录

cd    //切换到用户主目录

cd - //切换到上次目录

文件操作

       创建文件

              Touch 文件路径   //创建的是一个空白的文件。

       查看文件内容

              Cat   //将文件内容直接显示出来

              More  //将文件内容分屏显示(按回车显示下一行,按空格显示下一屏)

              Tail-f    //动态显示文件内容

              Wc     //统计文件内容行,句,字符数。

       添加内容到文件

              >,>>    //输出重定向,第一个是覆盖写入,第二个是追加写入。

echo hello > 1.txt    //以覆盖写的方式将hello字符添加到文件1.txt

echo world >> 1.txt   //以追加的方式将world字符添加到文件1.txt

cat 2.txt >> 1.txt     //将2.txt文件的内容追加到1.txt

date > 文件名    //给文件中写如日期函数

用户和组

/etc/passwd文件中每个用户都有一个对应的记录行,每行记录又被冒号(:)分隔为7个字段,它记录了这个用户的一些基本属性

 

用户名

②口令:真正的加密后的用户口令存放在/etc/shadow文件中,而在/etc/passwd文件的口令字段中只存放一个特殊的字符,例如“x”或者“*” 用户的类型 用户密码

用户标识号:<100系统关键用户,100~500系统用户,>=500用户创建的用户

组标识号:记录的用户所属的用户组。它对应着/etc/group文件中的一条记录。

⑤注释性描述

用户主目录

⑦  登录Shell:用户登录后的启动进程,该进程负责将用户的操作传递给系统  

用户操作

       查看用户

              Cat  /etc/passwd

       添加用户

              User add  用户名   //添加一个用户

              参数:-g 组id

                        -d 用户主目录

                            -u 用户id

示例:useradd -g 501 -d /lisi -u502 lisi

//创建一个lisi用户,并且指定组id为501,主目录为/lisi,用户id为502

除此之外,还有-r表示创建系统用户,用户id大于100小于500

-s指定此用户的启动进程,/sbin/nologin表示不允许登录

   修改用户

      Usermod

  参数:-g id 

-d 用户主目录

-u 用户id

-l 修改用户名

示例:usermod -g 501 -d /lisi -u502 lisi

//修改lisi用户信息,指定组id为501,主目录为/lisi,用户id为502

(修改用户主目录需要手动创建新主目录)

 

修改用户名字

usermod  -l wangwu lisi //将用户名lisi修改为wangwu

   修改组名字

   Groupmod-n 新组名 旧组名  //将旧组名修改为新组名

       删除用户

              Userdel  用户名   //只删除用户的信息。

              Userdel  -r  用户名  //删除用户信息同时用户对应的主目录也被删除

组操作

       查看组

              Cat  /etc/group

       添加组

              Groupadd 组名  //添加一个用户组

              Group add -g 组id 组名   ///添加组同时添加组id

       修改组

              Groupmod -n新组名 旧组名  //修改组名称

              Groupmod -g 组id 组名    //修改组id

       删除组

              Groupdel 组名   //删除用户组(注意:组里面如果有用户不能删除,这里就需要先删除组里面的用户,在删除组)

修改密码

       Passwd    //修改自己的密码

       Passwd 用户名   //修改指定用户的密码,仅root用户可以使用

 

学习命令

       命令 –help  查看该命令详情

       man 命令  可以查看该命令语法

 

vim和vi 编辑器

文件权限操作

       权限划分

    

三个操作权限:读read 、 写write 、 执行execute 

固定三种用户权限:所属用户(user),所属用户组(group),其他组用户(other)

 

①表示用户权限(共10个字符,第一个代表文件类型[d目录,-文件]2-4位表示文件所属用户的权限,5-7位表示文件所属用户组的权限,8-10表示其他组用户的权限)

②表示文件引用计数

所属用户

所属用户组

⑤文件大小

⑥  文件最后修改日期

⑦   文件名

修改文件权限:

              Chmod 参数 文件名  //命令格式

1>  字母方式:

chmod u+rx filename 给所属用户加上r(读)和x(可执行)权限

chmod g-w filename  给用户组去掉w(写)权限

chmod o=,g+w filename  其他组用户权限为空,用户组增加w权限

chmod a=rw filename  将所有用户权限设置为rw

参数说明:

u代表文件所属用户,g代表文件所属用户组,o代表其他组用户

+代表添加权限,-代表去掉权限,=代表将权限设置为(去掉权限后再添加)

r代表读权限,w代表写权限,x代表执行权限

 

2>数字方式

问题:如何用一位数字表示3个权限?

 

通常使用0和1表示是否拥有该权限,0表示没有权限,1表示有权限

要表示(rwx)3个权限,就需要用到3位二进制数字,从左往右,第一位表示r权限,第二位表示w权限,第三位表示x权限

二进制000~111 就可以分别表示3个权限的情况,转换为十进制就是0~7

示例:000  ---  十进制0

     100  r--  十进制4

     111  rwx  十进制7

这样一个数字(0~7)就可以表示rwx这3个权限的情况。

现在我们需要表示ugo三组用户的权限,就需要三列数字000~777

示例:000  --- --- --- 表示u、g、o都没有任何权限

      520  r-x -w- --- 表示u拥有rx权限,g拥有w权限,o没有任何权限

      777  rwx rwx rwx 表示ugo均拥有rwx权限

 

使用数字方式修改文件权限

chmod 000 == chmod u=,g=,o=

chmod 777 == chmod u=rwx,g=rwx,o=rwx

chmod 640 filename   //u用户rw权限,g用户r权限,o用户无权限

r ---4    w---2   x---1

使用哪种方式来设置?

根据实际情况来使用,数字更简洁,字母更直观。工作中数字用的多一些。

权限说明

①  文件权限

r 读权限,可以查看文件的内容

w 写权限,可以修改文件的内容

x 可执行权限(文件是否可以执行不是看后缀名,是看文件是否有执行权限)

特殊情况:文件没有写权限,但是该目录有写权限,可以通过覆盖写文件的方式达到修改文件的目的,文件所有者变成当前用户了(本质是覆盖原文件)

② 目录权限

r 读取目录的文件列表信息

w 可以删除和创建文件

x 进入目录的权限

②  递归修改文件和目录权限

chmod 666 dir –R 递归修改dir 目录下面的所有文件和目录的权限。

 

要访问文件

 

修改文件所属用户和用户组:

   先切换到超级用户,然后

  chown usernamefilename 修改文件所属用户

chgrp groupname filename修改文件所属用户组

常用系统命令

grep 关键字 路径  //将文件中含有该关键字的行的内容显示出来,可以起到过滤作用

grep root /etc/passwd  显示含有某些关键词的内容行

ps –A //查看系统活跃进程查看apacha有没有使用

ps –A | grep httpd

kill 9 //杀死指定pid号进程

kill 3759 杀死top进程

 

管道 |

ps –A | grep top

 

 


你可能感兴趣的:(linux常用知识点和命令总结)