一、which
作用:
which 命令用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录, which 命令会在环境变量$PATH 设置的目录里查找符合条件的文件。也就是说,使用which命令就可以看到某个系统指令是否存在,以及执行的命令位置。
语法:
which (选项)(参数)

选项:

-n : 文件名长度,指定文件名长度,指定的长度必须大于或等于文件中最长的文件名。

-p : 文件名长度,与-n 参数相同,此处包含文件路径

-w : 指定输出时栏位的宽度

-v :显示版本信息

实例:

查找文件、显示命令路径

which pwd :  /bin/pwd

which adduser: /usr/sbin/adduser

which 是根据使用者所配置的PATH变量内的目录去搜索可运行档的, 所以,不同的PATH配置内容找的的命令是不一样的。

二、type 

作用:
用来显示指定命令的类型,判断出命令是内部命令还是外部命令。
命令类型:
alias: 别名
keyword:关键字, shell 保留字
function:函数, shell函数
builtin: 内置命令,shell内建命令
file: 文件,磁盘文件,外部命令
unfound: 没有找到

语法:

type (选项)(参数)

选项:

-t: 输出file/alias/builtin ,分别表示给定命令为外部命令,命令别名,内部命令

-p:如果给出的指令为外部命令,则显示绝对路径

-a:在环境变量PATH指定的路径中,显示给定指令信息,包括命令别名。

实例:
type ls : ls is aliased to 'ls --color = tty'
type cd : cd is a shell builtin
type date : date is /bin/date
type mysql: mysql is /usr/bin/mysql
type nginx:  -bash :type:nginx:notfound
type if :if is a shell keyword
type which : which is aliased to 'alias | /usr/bin/which --tty -only --read-alias --show -dot --show-title'
type -a cd : cd is a shell builtin
type -t cd : builtin
type -a grep: grep is /bin/grep

三、whereis

作用:
whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。 
和find相比,whereis 查找的速度非常快, 这是因为linux系统会将系统内的所有文件都记录在一个数据库文件中,当使用whereis 和locate 时,会从数据库中查找数据,而不是像find命令那样,通过遍历硬盘来查找,效率自然会很快。但是该数据库文件并不是实时更新,默认情况下一周更新一次,因此,我们在用whereis和locate 查找文件时,有时会找到已经被删除的文件, 或者刚刚建立的文件没有办法找到, 原因就是数据库文件没有更新。

选项:

-b 只查找二进制文件。 
-B <目录>只在设置的目录下查找二进制文件。
-f 不显示文件名前的路径名称。
-m 只查找说明文件。 
-M <目录>只在设置的目录下查找说明文件。
-s 定位源代码文件。
-S <目录>只在设置的目录下查找源代码文件。 
-u 搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。

参数:

指令明: 要查找的二进制程序,源文件和man手册的指令名。

实例:

whereis tomcat: tomcat: tomcat没有安装,查询不出

whereis svn : svn:/usr/bin/svn /usr/local/svn /usr/share/man/man1/svn.1.gz

whereis -b svn: svn: /usr/bin/svn /usr/local/svn

whereis -m svn: svn: /usr/share/man/man1/svn.1.gz

whereis -s svn:svn : 

四、locate
 

作用:

locate命令可以在搜寻数据库时快速找到档案,数据库由updatedb程序来更新,是最近才建立或刚更名的数据,可能会找不到,执行updatedb则会更新数据库。

参数:

-i 忽略大小写

-e 将排除在寻找的范围之外。 

-1 如果 是 1.则启动安全模式。在安全模式下,使用者不会看到权限无法看到 的档案。这会始速度减慢,因为 locate 必须至实际的档案系统中取得档案的 权限资料。实际搜寻硬盘查询文件名称

-f 将特定的档案系统排除在外,例如我们没有到理要把 proc 档案系统中的档案 放在资料库中。 

-q 安静模式,不会显示任何错误讯息。 

-n 至多显示 n个输出。 

-r 使用正规运算式 做寻找的条件。 

-o 指定资料库存的名称。 

-d 指定资料库的路径 

-h 显示辅助讯息 

-V 显示程式的版本讯息 

实例:
locate pwd: 查找和pwd 相关的所有文件
locate /etc/sh : 查找etc文件下所有以sh 开头的文件
locate -i ~/m : 查找用户主目录下所有以m/M开头的文件
 
五、

pwd

作用:

以绝对路径的方式显示用户当前工作目录,命令将当前目录的全路径名称(从根目录)写入标准输出, 全部目录使用/分隔,第一个/表示根目录, 最后一个/ 表示当前目录。 执行pwd 命令可以立刻知道目前所在的工作目录的绝对路径名称。

参数:

-P:  查看当前目录的真实物理目录

-L: 查看当前目录的逻辑目录

六、/etc/passwd
1. /etc/passwd 由 : 分隔成7个字段 (1) 用户名 规则:大小写字母、数字、减号(不能出现在首位)、点以及下划线,其他字符不合法  (2) x 放密码,安全起见放到 /etc/shadow (3) uid (0-4294967294=2^32-2)  root uid=0 1-499系统保留 普通账户是从500开始 (4) gid  对应 /etc/group (5) 注释说明,该字段没有实际意义,通常记录该用户的一些属性,例如姓名、电话、地址等等  用 chfn 更改 (6) 用户家目录 (7) shell  /bin/bash, /bin/false, /sbin/nologin

七、 /etc/shadow

(1) 用户名 (2) 密码,用$6-SHA-512($5-SHA-256,$1 -MD5)加密过,不可逆,   * :被锁定, !!:没有设定密码 (3)上次更改密码的日期,例如上次更改密码的日期为2012年1月1日,则这个值就是 ‘365 x (2012-1970) + 10 + 1= 15341’.  (4)要过多少天才可以更改密码, 0 不限制 (5)密码多少天后到期,默认是99999,可以理解为永远不需要改  (6)密码到期前的警告期限  (7)账号失效期限,到期后过多少天锁定帐号  (8)账号的生命周期 (9)作为保留用的,没有什么意义

八、 /etc/group

(1)用户组名称
(2)用户组密码
(3)GID
(4)用户列表,如果为空,表示用户为该组名用户

九、 /etc/gshadow

(1)用户组名称
(2)用户组密码
(3)GID
(4)用户列表,如果为空,表示用户为该组名用户

groupname:password:admin,admin,...:member,member,...

十、useradd

作用:
用于Linux中创建的新的系统用户, useradd 可用来建立用户账号, 账号建好之后,再用passwd 设定账号的密码, 可用userdel 删除账号。 使用useradd 指令创建的账号,实际上保存在/etc/passwd文本文件中。
选项:
-c :备注文字, 显示在passwd 备注栏位中

-d :指定用户登入时的起始目录

-D :变更预设值

-e : 指定账号的有效期限

-f: 指定在密码过期后多少天关闭该账号

-g : 指定用户所属的群组

-G : 指定用户所属的附加群组

-m : 自动建立用户的登入目录 

-M: 不创建用户的家目录

-n : 取消建立以用户名称为名的群组

-r : 建立系统账号

-s : 指定用户登入所使用的shell 

-u : 指定用户ID

实例:

useradd -g sales jack -G company ,employees // -g 加入主群组,  -G 加入附属群组

useradd caojk -u  544 //建立新用户,指定ID

useradd -d /usr/sam -m sam //建立一个用户sam , 产生主目录/usr/sam 。

useradd -s /bin/sh -g group -G adm, root gem // 新建gem 用户, 登录shell 是/bin/sh ,主群组是group,附属组是root ,adm 

/etc/skel/: 隐藏文件,初始化等配置文件  .bash_logout  .bash_profile  .bashrc

-M 参数时,手工添加用户家目录, 需要配置隐藏文件cp -v /etc/skel/.b*  /home/user/

-s:  /bin/bash  /sbin/nologin  /sbin/false

十一、usermod 

作用:

用于修改用户的基本信息。 usermod 命令不允许你改变正在线上的使用者账号名称,当usermod 命令用来改变user ID时,必须确认这名user 没有在电脑上执行任何程序。 

选项:

-c  修改用户账号的备注文字

-d 修改用户登入时的目录

-e i修改账号的有效期限

-f 修改在密码过期后多少天关闭账号

-g 修改用户所属的群组

-G 修改用户所属的附属群组

-l 修改用户账号名称

-L 锁定用户密码, 使密码无效

-s 修改用户登入后使用的shell

-u 修改用户ID

-U 接触密码锁定

实例:

usermod -G staff newuser2 //将newuser2添加到staff 中

usermod -l newuser2 newuser  // 修改newuser 的用户名为newuser2 

usermod -L newuser2  //锁定账号

usermod -U newuser2 //解除锁定

十二、

userdel 
作用:
删除指定用户,以及用户相关的文件。 如不加选项,则仅删除用户账号,而不删除相关文件

选项:

-r:强制删除用户,即时用户当前已登录

-f:删除用户的同时删除与用户相关的所有文件

实例:

userdel 命令很简单, 比如现在有一个用户Linux , 其家目录在/var 目录中, 现在我们删除它

userdel linux  //删除用户,但不删除家目录和文件

userdel -r linux  //删除用户以及家目录文件 

十三、passwd

修改密码:长度10~15  , 大小写字母, 数字, 特殊符号

mkpasswd:  yum install -y expect    

-l:length

-s:special 

keepass: 官网下载

十四、chfn 

更改解释说明

十五、su  sudo 
su : su user :部分切换, 不登录用户家目录
       su -  user : 全部切换, 默认登录家目录
       su -c  "touch /tmp/user.txt" -user:  以user 用户来新建文件
       su - : 切换root 用户  需输入密码
sudo : 临时具有root 权限
       visudo :编辑配置文件
root ALL=(ALL) ALL
user ALL=(root) NOPASSWD: /bin/ls  ,/bin/su

显示远程root 不登录:

vi /etc/ssh/sshd_config:  PermitRootLogin  no

tail /var/log/secure

登录时间慢: vim /etc/ssh/sshd_config :  UseDNS  no

输入密码时确认: passwd --stdin user  

                             echo "lishiming" |passwd --stdin user

          echo -e "lishiming\nlishiming\n" |passwd user

lesson - 5 课程笔记 which/ type / whereis /locate /pwd / etc/passwd/ shadow/ group / gshadow /useradd /usermod /userdel /passwd / su sudo的更多相关文章

  1. lesson - 9 课程笔记

    一. yum          作用:                     yum 命令是在Fedora 和RedHat 以及SUSE 中基于rpm 的软件包管理器,它可以使系统管理人员交互和自动 ...

  2. lesson - 6 课程笔记

    一.df  作用:  显示磁盘分区上的可使用的磁盘空间, 默认显示单位为kb . 可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间的等信息. 选项: -a :包含全部的文件系统 -h :以 ...

  3. lesson - 12 课程笔记

    一.w 命令 作用: 用于显示已经登录系统的用户列表, 并显示用户正在执行的指令. 执行这个命令可得知目前登入系统的用户有哪些人, 以及他们正在执行的程序.  单独执行w 命令会显示所有的用户, 您也 ...

  4. lesson - 11 课程笔记

    一.sed  作用: sed 是一种流编辑器,它是文本处理中非常重要的工具, 能够完美的配合正则表达式使用.处理时,把当前处理的行存储在临时缓冲区中, 称为“模式空间(pattern space)”, ...

  5. lesson - 8 课程笔记 tar / gzip /bzip2 / xz /

    作用:为linux的文件和目录创建档案,也可以在档案中改变文件,或者向档案中加入新的文件即用来压缩和解压文件.tar本身不具有压缩功能.他是调用压缩功能实现的  语法:tar[必要参数][选择参数][ ...

  6. lesson - 7 课程笔记 vim

    vim :修改文件 模式: 默认进来是一般模式.i 编辑模式.esc 退出编辑 .shift+: 底行模式 参数: w: write/q:quit/! force 编辑模式:  /a:光标之后插入内容 ...

  7. lesson - 10 课程笔记

    CTRL+C CTRL+D :前者用于结束一个程序,后者用于结束终端输入. --符号 *:匹配任意长度的任意字符 ?:匹配任意一个字符 #: shell 中表注释 \: 脱意符号 []:任意属于字符组 ...

  8. lesson - 4 笔记 /inode / suid / sgid / sbit / chmod /umask / chown / rwx / wc /grep / tr / sort / cut /which / whereis / locate / find / ln /

    一.帮助+基本文件管理+用户管理 1.怎么查看命令帮助 ls --help man ls :查看命令/man 5 file:查看配置文件 二.基本文件管理,通过{查,建,删,改} 四个维度介绍了不同的 ...

  9. centos 特殊权限 各种搜索命令 lsattr ,chattr,suid,sgid,sbit,file,type是否是内置命令,stat文件属性 ,whereis,locate,find,ln 内部命令和外部命令 第五节课

    centos 特殊权限 各种搜索命令 lsattr ,chattr,suid,sgid,sbit,file,type是否是内置命令,stat文件属性 ,whereis,locate,find,ln   ...

随机推荐

  1. C语言之二分猜数字游戏

    #include <stdio.h>#include <windows.h>#include<string.h>int main() { int oldprice, ...

  2. PHP面向对象之const常量修饰符

    在PHP中定义常量是通过define()函数来完成的,但在类中定义常量不能使用define(),而需要使用const修饰符.类中的常量使用const定义后,其访问方式和静态成员类似,都是通过类名或在成 ...

  3. iOS 图片本地存储、本地获取、本地删除

    在iOS开发中.经常用到图片的本地化. iOS 图片本地存储.本地获取.本地删除,可以通过以下类方法实现. p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: ...

  4. PHP随手记1--内置函数date

    1. date_default_timezone_set date_default_timezone_set — 设定用于一个脚本中所有日期时间函数的默认时区 在php中只用 mktime() 函数时 ...

  5. 前端CSS的工程化——掌握Sass这四大特性就够了

    初遇 CSS,一见倾心 记得刚遇见css的时候,咱像是见了美人儿一样,简直是爱不释手啊,简简单单写几行算不上代码的代码,就能做出这么漂亮的东西,这也成了咱前端之路的最初动力. 然而,随着项目体量和页面 ...

  6. Material使用01 侧边栏MdSidenavModule、工具栏MdTollbarModule

    前提准备: 构建好一个Angular2应用 熟悉CSS的flex布局风格 1 利用flex进行布局 1.1 创建三个组件 app-header app-main app-footer 1.2 在主组件 ...

  7. KNN K~近邻算法笔记

    K~近邻算法是最简单的机器学习算法.工作原理就是:将新数据的每一个特征与样本集中数据相应的特征进行比較.然后算法提取样本集中特征最相似的数据的分类标签.一般来说.仅仅提取样本数据集中前K个最相似的数据 ...

  8. httpfs安装指南

    httpfs安装指南 安装环境 Linux maven3 jdk1.6 本地的maven源(有些依赖的jar包Cloudera已不再维护) 1.下载httfs源代码包 https://github.c ...

  9. 【打CF,学算法——三星级】Codeforces Round #313 (Div. 2) C. Gerald&#39;s Hexagon

    [CF简单介绍] 提交链接:http://codeforces.com/contest/560/problem/C 题面: C. Gerald's Hexagon time limit per tes ...

  10. SpringMVC实现JSON与前台交互

    这几天忙着做学校的项目,感觉好久没有更新博客了,来整理一下. 由于要实现的功能是表单联动,只能自己去写ajax来实现提交给后台接口了,好久没有写前端,好多东西都忘记了,只能可怜巴巴的用原生的js去实现 ...