ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux-基础学习(一)-基本命令

2019-04-01 21:48:15  阅读:217  来源: 互联网

标签:文件 显示 用户 学习 命令 Linux txt 目录


开始今日份整理

1.Linux的文件目录操作

1.1 ls

简述:ls是list的缩写,用于列出指定目录或文件

常用选项:

1 -a:显示所有档案及目录(ls内定将档案名或目录名称为“.”的视为影藏,不会列出)
2 -A:显示除影藏文件“.”和“..”以外的所有文件列表;
3 -d:仅显示目录名,而不显示目录下的内容列表。显示符号链接文件本身,而不显示其所指向的目录列表;
4 -l:以长格式显示目录下的内容列表。输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等
1 -a:显示所有档案及目录(ls内定将档案名或目录名称为“.”的视为影藏,不会列出)
2 -A:显示除影藏文件“.”和“..”以外的所有文件列表;
3 -d:仅显示目录名,而不显示目录下的内容列表。显示符号链接文件本身,而不显示其所指向的目录列表;
4 -l:以长格式显示目录下的内容列表。输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等

ls-l的输出如下

1.2 Linux的目录结构

以下是对这些目录的解释:

  • /bin
    bin是Binary的缩写, 这个目录存放着最经常使用的命令。

  • /boot:
    这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。

  • /dev :
    dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。

  • /etc:
    这个目录用来存放所有的系统管理所需要的配置文件和子目录。

  • /home
    用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。

  • /lib
    这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。

  • /lost+found
    这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

  • /media
    linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。

  • /mnt
    系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。

  • /opt
    这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。

  • /proc
    这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
    这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:

    echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
  • /root
    该目录为系统管理员,也称作超级权限者的用户主目录。

  • /sbin
    s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。

  • /selinux
    这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。

  • /srv
    该目录存放一些服务启动之后需要提取的数据。

  • /sys
    这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。

    sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。

    该文件系统是内核设备树的一个直观反映。

    当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。

  • /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的预设放置也是在这里。

1.3 cd与pwd

cd是change directory的缩写,用于变更用户所在目录

1 cd 进入当前用户的根目录(root用户的根目录是/root,其他用户的根目录是/home下的用户目录)
2 cd . 进入当前目录(cd ~也是进入当前目录)
3 cd .. 进入上一级目录
4 cd /.../.. 进入某目录(绝对目录)
5 cd .. 进入某目录(相对目录)
6 cd - 进入上一次所在的目录
7 cd ~进入当前用户的家目录

注:cd后面跟目录名就会直接切换到指定的目录中,但cd后不能跟文件名,有文件名就会报错!.表示当前目录,..表示上一级目录

pwd是print work directory的缩写,用来打印当前工作目录

image

1.4 mkdir与rmdir

mkdir是make directory的缩写,用于创建目录

1 mkdir dirname 直接在当前目录下创建新目录
2 mkdir -p dirname1/dirname2/... 一次性创建多级目录
3 mkdir {test1,test2,test3}当前目录下创建多个文件夹

rmdir是remove directory的缩写,用来删除空目录,该目录只能用来删除目录不能删除文件 -> 一般都使用rm代替rmdir

1 rmdir dirname 删除当前目录下的某目录
2 rmdir -p dirname  删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除

简述:rm是remove的缩写,用来删除文件或目录

1 rm    删除文件,会有提示
2 rm -r 删除目录,可以用来删除非空目录,若目录非空则会提示
3 rm -f 强制删除目录,不会提示
4 rm -rf 删除文件或目录,不会提示

注: Linux中删除文件前最好备份,尤其是一些重要文件

1 mv filename /opt/filename.bak 备份文件
2 rm -rf filename

1.5 touch

简述:创建新的空文件;如果要创建的文件已存在则把已存在文件的时间标签更新为系统当前的时间(默认方式),原来的数据将保留

1 touch new_file 在当前目录下建一个空文件

1.6 文件内容查看

简述:显示文件的内容,将其打印在屏幕上

1 cat -n 打印行号
2 cat -A显示所有内容包括特殊字符
与cat类似的其他命令,均是用来显示文件,后跟文件名
1 tac     和cat一样也是打印文件内容到屏幕,不过是从倒数第一行开始打印
2 more    Ctrl+D向上翻屏,Ctrl+F向下翻屏,q退出,一般常用在看LOG文件
3 less    空格键翻页,j向下移动,k向上移动
4 head    显示文件前10行,可以用head -n显示前n行
5 tail    显示文件最后10行,也可以用tail -n显示最后n行

1.7 cp、scp与mv

cp是copy的缩写,用于复制文件或文件夹,命令格式为cp [选项] [来源文件][目的文件]

选项:

1 -f:强行复制文件或目录,不论目标文件或目录是否已存在;
2 -i:覆盖既有文件之前先询问用户;
3 -l:对源文件建立硬连接,而非复制文件;
4 -R/r:递归处理,将指定目录下的所有文件与子目录一并处理;
5 -b:覆盖已存在的文件目标前将目标文件备份;

scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。

选项:

-r :递归复制整个目录
-v:详细方式输出
-q:不显示传输进度条
-C:允许压缩

例子:

# 传输本地文件到远程地址
scp 本地文件  远程用户名@远程ip:远程文件夹/
scp 本地文件  远程用户名@远程ip:远程文件夹/远程文件名

scp /tmp/test.py root@192.168.1.155:/home/
scp /tmp/test.py root@192.168.1.155:/home/tiger_python.py

# 输入本地文件夹到远程地址
scp -r  本地文件夹  远程用户名@远程ip:远程文件夹/
scp -r /tmp/oldboy root@192.168.1.155:/home/oldboy

# 复制远程文件到本地
scp root@192.168.1.155:/home/oldboy.txt /tmp/oldboy.txt
scp -r root@192.168.1.155:/home/oldboy /home/

mv是move的简写,用于移动文件或目录,还可以用来重命名,命令格式为mv [选项] [源文件或源目录] [目标文件或目录]

该命令有如下几种情况:

  • 目标文件是目录,但目录不存在 -> 重命名源目录
  • 目标文件是目录,但目录存在 -> 将源文件或源目录移动到该目录下
  • 目标文件是文件,但文件不存在 -> 重命名源文件
  • 目标文件是文件,但文件存在 -> 会询问是否覆盖

1.8 搜索文件相关

(1)which:用于查找并显示给定命令的绝对路径

1 $ which ls
2 /bin/ls
3 $ which cd
4 $ which mkdir
5 /bin/mkdir

(2)whereis:用来定位指令的二进制程序、源代码文件和man手册页等相关文件的路径

1 $ whereis tomcat
2 tomcat:
3 $ whereis python
4 python: /usr/bin/python2.7-config /usr/bin/python3.5 /usr/bin/python2.7 /usr/bin/python3.5m /usr/bin/python /usr/lib/python3.5 /usr/lib/python2.7 /etc/python3.5 /etc/python2.7 /etc/python /usr/local/lib/python3.5 /usr/local/lib/python2.7 /usr/include/python2.7 /usr/share/python /usr/share/man/man1/python.1.gz

(3)ind:用来在指定目录下查找文件

find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示

find .    列出当前目录及子目录下所有文件和文件夹
find /home -name "*.txt"  在/home目录下查找以.txt结尾的文件名
find /home -iname "*.txt"  同上,但忽略大小写
find . \( -name "*.txt" -o -name "*.pdf" \)  当前目录及子目录下查找所有以.txt和.pdf结尾的文件
find /usr/ -path "*local*"    匹配文件路径或者文件
find . -regex ".*\(\.txt\|\.pdf\)$"  基于正则表达式匹配文件路径
find . -iregex ".*\(\.txt\|\.pdf\)$"  同上,但忽略大小写
find /home ! -name "*.txt"  找出/home下不是以.txt结尾的文件
find . -type 类型参数    根据文件类型进行搜索
find . –name a.txt   在当前目录下查找 a.txt 文件(. 表示当前命令)
find /dev -name std*  在/dev 目录查找 std开头的文件

(4)locate:实是find -name的另一种写法,但是要比后者快得多

1 locate /etc/sh    搜索etc目录下所有以sh开头的文件
2 locate ~/m        搜索用户主目录下,所有以m开头的文件
3 locate -i ~/m     搜索用户主目录下,所有以m开头的文件,并且忽略大小写

(5)grep

简述:是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来

语法:
grep [参数] [--color=auto] [字符串] filename
参数详解:
-i : 忽略大小写
-n : 输出行号
-v : 反向选择
--color = auto : 给关键词部分添加颜色

grep "我要找什么" /tmp/oldboy.txt
#排除 -v,排除我要找的东西
grep -v "我要找什么 /tmp/oldboy.txt

例题:

例题,找出/etc/passwd下root用户所在行,以及行号,显示颜色
cat /etc/passwd |grep '^root' --color=auto -n

找出/etc/passwd所有不允许登录的用户
grep /sbin/nologin /etc/passwd

找到/etc/passwd的所有与mysql有关行,行号
cat /etc/passwd |grep 'mysql' -n

1.9 cmp与diff

cmp:比较两个文件是否有差异

cmp testfile testfile1 #比较两个指定的文件

diff:在最简单的情况下,比较给定的两个文件的不同。如果使用“-”代替“文件”参数,则要比较的内容将来自标准输入。diff命令是以逐行的方式,比较文本文件的异同处。如果该命令指定进行目录的比较,则将会比较该目录中具有相同文件名的文件,而不会对其子目录文件进行任何比较操作

diff /usr/li test.txt     #使用diff指令对文件进行比较

1.10 文件的打包与压缩

打包和压缩的区别:打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件

打包:tar命令

利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的

1 tar -cvf test.tar a.txt b.txt c.txt    仅打包,不压缩! 
2 tar -tf test.tar        查看tar包中的内容
3 tar xvg test.tar        解包(tar)

压缩和解压缩: gzip命令和gunzip命令、bzip2命令和bunzip2命令

1 gzip test.txt                 压缩文件
2 gunzip test.txt.gz            解压文件
3 bzip2 test.txt                压缩文件
4 bunzip2 test.txt.gz           解压文件
当然也可以直接使用tar命令在打包的同时进行压缩

1.11 path 命令

windows下的环境变量(PATH),都知道系统会按照PATH的设定,去每个PATH定义的目录下搜索可执行文件。查看linux的系统配置如下

执行命令:
echo $PATH
echo命令是有打印的意思
$符号后面跟上PATH,表示输出PATH的变量

PATH(一定是大写的)这个变量是由一堆目录组成,分隔符是":"号,而不同于windows的";"号。

2. Linux的系统操作相关

2.1 网络相关

在我们刚装好linux的时候,需要用远程软件进行远程连接,那就得获取ip地址,有时候网卡默认是没启动的,Linux也就拿不到ip地址,因此我们得手动启动网卡

2.1.1 首先需要启动网络服务

systemctl start network  # 启动网络服务
systemctl restart network  # 重启网络服务
systemctl stop network  # 停止网络服务

2.1.2 启动一块网卡

启动/关闭一块网卡 ifup eth0/ ifdown eth0

2.1.3 服务器重启配置

#编辑网卡配置文件
vim /etc/sysconfig/network-scripts/ifcfg-eth0 
#修改配置参数
ONBOOT=yes

网络配置文件:
/etc/sysconfig/network

网络接口配置文件:
/etc/sysconfig/network-scripts/ifcfg-INTERFACE_NAME
DEVICE=: 关联的设备名称,要与文件名的后半部“INTERFACE_NAME”保持一致; 
BOOTPROTO={static|none|dhcp|bootp}: 引导协议;要使用静态地址,使用static或none;dhcp表示使用DHCP服务器获取地址;
IPADDR=: IP地址
NETMASK=:子网掩码
GATEWAY=:设定默认网关;
ONBOOT=:开机时是否自动激活此网络接口;
HWADDR=: 硬件地址,要与硬件中的地址保持一致;可省;
USERCTL={yes|no}: 是否允许普通用户控制此接口;
PEERDNS={yes|no}: 是否在BOOTPROTO为dhcp时接受由DHCP服务器指定的DNS地址;

ifconfig 用于查看网卡状态,和路由器中的ipconfig一致

ip是一个命令,不是TCP/IP那个ip,这个ip命令是结合了ifconfig和route两个命令的功能。

ip addr show #查看ip信息

2.2 磁盘存储相关

2.2.1 du与df

du:查看目录下文件占用磁盘空间情况

df: 查看整个磁盘空间占用情况

du 显示当前目录下文件所占的空间
du filename 显示指定文件所占的空间
du catalogname 显示指定目录下所占的空间
 
df 查看系统磁盘设备,默认是KB为单位
df -h 使用-h选项以KB以上的单位来显示查看系统磁盘设备,可读性高
df -a 查看全部文件系统的磁盘设备

2.2.2  fdisk

fdisk命令用于观察硬盘实体使用情况,也可对硬盘分区。它采用传统的问答式界面,而非类似DOS fdisk的cfdisk互动式操作界面,因此在使用上较为不便,但功能却丝毫不打折扣

选项:

1 -b<分区大小>:指定每个分区的大小;
2 -l:列出指定的外围设备的分区表状况;
3 -s<分区编号>:将指定的分区大小输出到标准输出上,单位为区块;
4 -u:搭配"-l"参数列表,会用分区数目取代柱面数目,来表示每个分区的起始地址;
5 -v:显示版本信息。

输入fdisk命令回车后会出现一个问答式界面,要求输入信息来选择可执行的操作,输入的信息选项如下:
1 m  列出可以执行的命令
2 p   列出磁盘目前的分区情况
3 d   选择分区,删除现有分区:
4 n   建立新的磁盘分区
fdisk详细解释:http://man.linuxde.net/fdisk

2.2.3 mkfs(没用过)

mkfs命令用于在设备上(通常为硬盘)创建Linux文件系统。mkfs本身并不执行建立文件系统的工作,而是去调用相关的程序来执行

选项如下:

1 fs:指定建立文件系统时的参数;
2 -t<文件系统类型>:指定要建立何种文件系统;
3 -v:显示版本信息与详细的使用方法;
4 -V:显示简要的使用方法;
5 -c:在制做档案系统前,检查该partition是否有坏轨

/dev/hda5上建一个msdos的档案系统,同时检查是否有坏轨存在,并且将过程详细列出来:

1 mkfs -V -t msdos -c /dev/hda5

2 mkfs -t ext3 /dev/sda6     //将sda6分区格式化为ext3格式
3 mkfs -t ext2 /dev/sda7     //将sda7分区格式化为ext2格式

2.2.4 mount(没用过)

mount命令用于加载文件系统到指定的加载点。此命令的最常用于挂载cdrom,使我们可以访问cdrom中的数据,因为你将光盘插入cdrom中,Linux并不会自动挂载,必须使用Linux mount命令来手动完成挂载

语法: mount 选项  设备文件名  加载点

选项:

-V:显示程序版本;
-l:显示已加载的文件系统列表;
-h:显示帮助信息并退出;
-v:冗长模式,输出指令执行的详细信息;
-n:加载没有写入文件“/etc/mtab”中的文件系统;
-r:将文件系统加载为只读模式;
-a:加载文件“/etc/fstab”中描述的所有文件系统。
实例:

1 mount -t auto /dev/cdrom /mnt/cdrom     挂载cdrom
2 mount: block device /dev/cdrom is write-protected, mounting read-only     挂载成功

2.3 系统状态

2.3.1 top

top命令可以实时动态地查看系统的整体运行情况,也就是可以动态查看系统进程信息 (q 退出)

注:ps命令只能静态地输出进程信息,而top目录可以动态显示系统进程信息,可以每隔一段时间刷新当前状态

top交互命令

在top命令执行过程中可以使用的一些交互命令如下:

•h:显示帮助画面,给出一些简短的命令总结说明 
•k:终止一个进程 
•i:忽略闲置和僵死进程,这是一个开关式命令 
•q:退出程序 
•r:重新安排一个进程的优先级别 
•S:切换到累计模式 
•s:改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成ms。输入0值则系统将不断刷新,默认值是5s 
•f或者F:从当前显示中添加或者删除项目 
•o或者O:改变显示项目的顺序 
•l:切换显示平均负载和启动时间信息 
•m:切换显示内存信息 
•t:切换显示进程和CPU状态信息 
•c:切换显示命令名称和完整命令行 
•M:根据驻留内存大小进行排序 
•P:根据CPU使用百分比大小进行排序 
•T:根据时间/累计时间进行排序 
•w:将当前设置写入~/.toprc文件中

注:这些命令都是单字母的,如果在命令行中使用了-s选项, 其中一些命令可能会被屏蔽

2.3.2 ps

ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的

语法:ps 选项

常用选项如下:

a:显示现行终端机下的所有程序,包括其他用户的程序。
c:列出程序时,显示每个程序真正的指令名称,而不包含路径,选项或常驻服务的标示。
e:列出程序时,显示每个程序所使用的环境变量。
f:用ASCII字符显示树状结构,表达程序间的相互关系。
g:显示现行终端机下的所有程序,包括群组领导者的程序。
h:不显示标题列。
u:以用户为主的格式来显示程序状况。
x:显示所有程序,不以终端机来区分。
r:只列出现行终端机正在执行中的程序。
v:采用虚拟内存的格式显示程序状况
-a:显示所有终端机下执行的程序,除了阶段作业领导者之外。
-c:显示CLS和PRI栏位。
-d:显示所有程序,但不包括阶段作业领导者的程序。
-e:显示所有程序。
-f:显示UID,PPIP,C与STIME栏位。
-H:显示树状结构,表示程序间的相互关系。
-u<用户识别码>:列出属于该用户的程序的状况,也可使用用户名称来指定。
-j:采用工作控制的格式显示程序状况
-l或l:采用详细的格式来显示程序状况。
-N:显示所有的程序,除了执行ps指令终端机下的程序之外。

2.3.3 kill

kill命令用来删除执行中的程序或工作。kill可将指定的信息送至程序。预设的信息为SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用SIGKILL(9)信息尝试强制删除程序。程序或工作的编号可利用ps指令或job指令查看

选项:

a:当处理当前进程时,不限制命令名和进程号的对应关系
l <信息编号>:若不加<信息编号>选项,则-l参数会列出全部的信息名称
p:指定kill 命令只打印相关进程的进程号,而不发送任何信号
s <信息名称或编号>:指定要送出的信息
u:指定用户
参数:进程或作业识别号(指定要删除的进程或作业)

实例:

先用ps查找进程,然后用kill杀掉:
ps -ef | grep vim
root      3268  2884  0 16:21 pts/1    00:00:00 vim install.log
root      3370  2822  0 16:21 pts/0    00:00:00 grep vim

kill 3268
kill 3268
-bash: kill: (3268) - 没有那个进程

2.3.4 free(没用过)

free命令可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区

2.3.5 jobs(没用过)

jobs命令用于显示Linux中的任务列表及任务状态,包括后台运行的任务。该命令可以显示任务号及其对应的进程号。其中,任务号是以普通用户的角度进行的,而进程号则是从系统管理员的角度来看的。一个任务可以对应于一个或者多个进程号

在Linux系统中执行某些操作时候,有时需要将当前任务暂停调至后台,或有时须将后台暂停的任务重启开启并调至前台,这一序列的操作将会使用到 jobs、bg、和 fg 三个命令以及两个快捷键来完成

1 firefox &       后台运行程序
2 jobs             查看在后台运行的程序
3 fg %工作号    后台程序掉到前台运行     
4 bg %工作号   直接在后台运行

3. 用户,群组与权限

3.1 用户管理相关命令

(1)su与sudo

su: 切换用户

sudo:  表示获取临时的root权限命令

1 su 切换到root用户
2 su - root 切换到root用户
3 su - username 切换到普通用户
4 sudo后面跟操作表示进行某些特殊操作

(2)who系列

1 whoami;显示的是当前用户下的用户名
2 who am i:显示的是登录时的用户名
3 who:显示当前真正登录系统中的用户(不会显示那些用su命令切换用户的登录者)

(3)useradd

简述: 创建的新的系统用户

选项如下:

-c<备注>:加上备注文字。备注文字会保存在passwd的备注栏位中;
-d<登入目录>:指定用户登入时的启始目录;
-D:变更预设值;
-e<有效期限>:指定帐号的有效期限;
-f<缓冲天数>:指定在密码过期后多少天即关闭该帐号;
-g<群组>:指定用户所属的群组;
-G<群组>:指定用户所属的附加群组;
-m:自动建立用户的登入目录;
-M:不要自动建立用户的登入目录;
-n:取消建立以用户名称为名的群组;
-r:建立系统帐号;
-s<shell>:指定用户登入后所使用的shell;
-u<uid>:指定用户id。

############使用
1 useradd test1    直接添加用户
2 useradd test2 -u 1000 -g test      指定uid和gid添加用户

(4)userdel

简述:用于删除给定的用户,以及与用户相关的文件。若不加选项,则仅删除用户帐号,而不删除相关文件

选项如下:

-f:强制删除用户,即使用户当前已登录
-r:删除用户的同时,删除与用户相关的所有文件

userdel username  删除用户账号而不删除相关文件
userdel -f username 强制删除用户
userdel -r username 删除用户的同时删除与用户的相关文件

(5)usermod

简述:用于修改用户的基本信息

选项如下:

-c<备注>:修改用户帐号的备注文字;
-d<登入目录>:修改用户登入时的目录;
-e<有效期限>:修改帐号的有效期限;
-f<缓冲天数>:修改在密码过期后多少天即关闭该帐号;
-g<群组>:修改用户所属的群组;
-G<群组>;修改用户所属的附加群组;
-l<帐号名称>:修改用户帐号名称;
-L:锁定用户密码,使密码无效;
-s<shell>:修改用户登入后所使用的shell;
-u<uid>:修改用户ID;
-U:解除密码锁定。


##################
usermod -d /home/new test  将test用户的家目录修改为/home/new
usermod -G ttt test     将test用户添加到ttt组中
usermod -g ttt test     将test用户的gid变为ttt
usermod -L test        锁定test用户
usermod -U test        解锁test用户

(6)passwd

简述:用于设置用户的认证信息,包括用户密码、密码过期时间等

选项如下:

1 -d:删除密码,仅有系统管理者才能使用
2 -f:强制执行
3 -k:设置只有在密码过期失效后,方能更新
4 -l:锁住密码
5 -s:列出密码的相关信息,仅有系统管理者才能使用
6 -u:解开已上锁的帐号



########################
1 passwd 不带任何选项和参数是更改root用户密码
2 passwd username 更改username的密码
(7)id

简述:显示用户信息

1 id user 显示用户user的信息
2 id 显示当前登录的用户的信息
3 
4 注:用户root的UID号码 = 0,GID号码 = 0


注:与用户、组账户信息相关的文件

存放用户信息:

1 /etc/passwd
2 /etc/shadow

存放组信息:

1 /etc/group
2 /etc/gshadow


a

标签:文件,显示,用户,学习,命令,Linux,txt,目录
来源: https://www.cnblogs.com/gbq-dog/p/10639202.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有