一、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. Django 2.0 新特性 抢先看!

    一.Python兼容性 Django 2.0支持Python3.4.3.5和3.6.Django官方强烈推荐每个系列的最新版本. 最重要的是Django 2.0不再支持Python2! Django ...

  2. python并发编程之多线程一

    一,什么是线程 线程也被称为轻量进程计算机科学术语,指运行中的程序的调度单位. 线程是进程中的实体,一个进程可以拥有多个线程,一个线程必须有一个父进程.线程不拥有系统资源,只有运行必须的一些数据结构: ...

  3. 一些公司对quantitative的要求

    来自日月光华BBS: Company: UBS AG Job Title: Quantitative Developers / Analysts (Entry Level, Multiple Posi ...

  4. base64位加密解密

    1.base64位加密base64是用于传输8Bit字节代码,由上图的编码表可以知道,编码后的内容只包含这64个字符类型,所以称为base64编码 2.编码过程 : 首先将待编码的内容转换成8位二进制 ...

  5. eclipse 常用插件 整理

    开发过程中的常用Eclipse插件,按字母排序: (1)    AmaterasUML        介绍:Eclipse的UML插件,支持UML活动图,class图,sequence图,usecas ...

  6. SQL Server Profiler的使用

    最近一个项目,使用微软的Entity Framework的ORM框架的项目,部署到现场后,出现了系统缓慢,多个客户端的内存溢出崩溃的问题. 打开了SQL Server Profiler排查,发现有全表 ...

  7. 【tyvj P4879】骰子游戏

    http://www.tyvj.cn/p/4879 首先,投一个骰子,每个数字出现的概率都是一样的.也就是不算小A的话,n个人投出x个骰子需要的次数和点数无关. 计数问题考虑dp,令f(i,j)为前i ...

  8. 物联网设备是如何被破解的?分析一种篡改IoT固件内容的攻击方式

    随着智能硬件进入到人们的生活,人们的生活质量开始有逐步的提高,人们与智能硬件之间的联系更加紧密.同时,智能硬件的安全问题也必须引起高度重视,因为其直接影响到人身安全.社会安全和国家安全.   大家是否 ...

  9. java傻瓜简单100%一定看的懂新手安装教程

    1.java官网   最新的不是很稳定 http://www.oracle.com/technetwork/java/javase/downloads/index.html 一直点下一步就可以,但别忘 ...

  10. jenkins+github持续集成中的坑

    1.前言 刚开始开发自己的独立博客的时候,每次发布都要手动打包,上传服务器,杀tomcat进程,重启,来回这么重复性工作,很快就有点不耐烦了.如果能自动化的东西,就绝不要手动了,所以自己搭建了个持续集 ...