免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 一生有你llx

[系统管理] Linux基础命令 [复制链接]

论坛徽章:
1
15-16赛季CBA联赛之福建
日期:2018-12-10 14:43:45
发表于 2019-01-28 08:18 |显示全部楼层
gpasswd
      gpasswd指令用来管理组文件“/etc/group”和“/etc/gshadow”,每个组可以设置管理员、组员、密码。系统管理员可以使用-A选项定义组管理员,使用-M选项定义成员。他们拥有组管理员和成员的所有权利。由具有组名的组管理员调用的gpasswd只提示输入组的新密码。如果设置了密码,则成员仍然可以在没有密码的情况下使用newgrp(1),而非成员必须提供密码。
组密码是一个固有的安全问题,因为允许多个人知道密码。然而,群组是允许不同用户之间合作的有用工具。
     警告,此工具仅对“/etc/group”和“/etc/gshadow”文件进行操作。因此,您不能更改任何NIS或LDAP组。这必须在相应的服务器上执行。
     此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法
     gpasswd [选项]  group

2、选项列表
选项
说明
--help
显示帮助文档
--version
显示命令版本
-a | --add user
向组中添加用户
-d | --delete user
删除成员
-r | --remove-password
删除组密码
-R | --restrict
限制对命名组的访问。只允许组成员使用newgrp加入命名组。
-M |  --members user,...
向组添加多个成员
-A | --administrators user,..
设置组管理员

3、配置
     下面“/etc/login.defs”中的配置变量更改了该工具的行为:
     ENCRYPT_METHOD(string),这定义了用于加密密码的系统默认加密算法(如果命令行上没有指定算法)。可用的算法有:DES(默认)、MD5、SHA256、SHA512。注意:此参数重写MD5_CRYPT_ENAB变量。
     MAX_MEMBERS_PER_GROUP(number),每个组条目的最大成员数。达到最大值时,在/etc/group中启动一个新的组条目(行)(具有相同的名称、相同的密码和相同的GID)。默认值为0,这意味着组中的成员数没有限制。此功能(拆分组)允许限制组文件中的行长度。这对于确保NIS组的行不大于1024个字符非常有用。如果你需要执行这样的限制,你可以使用25。注意:拆分组可能不支持所有的工具(即使在阴影工具集中)。除非你真的需要这个变量,否则你不应该使用它。
MD5_CRYPT_ENAB(boolean),指示是否必须使用基于MD5的算法加密密码。如果设置为“是”,新密码将使用基于MD5的算法进行加密,该算法与FreeBSD最新版本使用的算法兼容。它支持无限长度的密码和更长的盐字符串。如果您需要将加密密码复制到其他不了解新算法的系统,则设置为“否”。默认为否。该变量由ENCRYPT_METHOD变量或用于配置加密算法的任何命令行选项取代。不推荐这个变量。您应该使用ENCRYPT_METHOD。
     SHA_CRYPT_MIN_ROUNDS(number)、SHA_CRYPT_MAX_ROUNDS(number),当Encrypt_Method设置为SHA 256或SHA 512时,默认情况下这将定义加密算法使用的SHA轮数(当命令行上未指定轮数时)。有很多回合,这是比较困难的暴力强制密码。但是还要注意的是,需要更多的CPU资源来对用户进行身份验证。如果没有指定,libc将选择默认的回合数(5000)。数值必须在1000-999999999范围内。如果只设置了SHA_CRYPT_MIN_ROUNDS或SHA_CRYPT_MAX_ROUNDS中的一个,则将使用此值。如果SHA_CRYPT_MIN_ROUNDS>SHA_CRYPT_MAX_ROUNDS,则将使用最高值。

4、文件
     /etc/group,组账户信息。
     /etc/gshadow,安全组账户信息。

5、实例
1)将用户user01 添加到组weijie
[root@localhost david]# gpasswd -a user01 weijie         //向组添加用户
Adding user user01 to group weijie
[root@localhost david]# cat /etc/group                    //查看组信息,已经成功添加
weijie:501:user01
2)设置组管理员
[root@localhost david]# gpasswd -A weijie weijie          //设置管理员
[root@localhost david]# cat /etc/gshadow                  //查看组信息,管理员已经设置
weijieweijie:




论坛徽章:
1
15-16赛季CBA联赛之福建
日期:2018-12-10 14:43:45
发表于 2019-01-29 06:32 |显示全部楼层
groupadd
       指定群组名称来建立新的群组账号,需要时可以从系统中取得新的群组值。
       此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法
       groupadd [选项]  group

2、选项列表
选项
说明
--help
显示帮助文档
--version
显示命令版本
-g gid
指定组id
-r
创建系统组
-f
新增一个已经存在的群组帐号,系统会出现错误讯息然后结束groupadd。如果是这样的情况,不会新增这个群组(如果是这个情况下,系统不会再新增一次)也可同时加上-g选项当你加上一个gid,此时gid就不用是唯一值,可不加-o参数,建好群组后会显结果

3、文件
       /etc/group,群组信息。
       /etc/gshadow,群组加密信息。

4、实例
        创建组,指定组的id
[root@localhost david]#groupadd group01 -g 999           //创建组,指定id
[root@localhost david]# tail -n 2 /etc/group               //查看组信息
user01:502:
group01:999:



groupdel
       删除组,如果租内有用户,那么必须先删除用户。
       此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法
       groupdel group

2、选项列表
选项
说明
--help
显示帮助文档
--version
显示命令版本

3、实例
       删除组
[root@localhost david]# groupdel group01              //删除组
[root@localhost david]# tail -n 2 /etc/group         //查看组信息,已经删除
webalizer:67:
user01:502:



论坛徽章:
1
15-16赛季CBA联赛之福建
日期:2018-12-10 14:43:45
发表于 2019-01-30 07:34 |显示全部楼层
init
      init是所有进程的父进程,它由内核执行,可以启动其他所有的进程。init指令在启动时会参考/etc/inittab文件的配置,完成其他进程的启动。init通常不会由用户进程执行,并且期望进程id为1。如果不是这样,它将实际执行telinit(并将所有参数传递给它。
      init管理的进程称为作业,并由/etc/init目录中的文件定义。init(是一个基于事件的init守护进程。这意味着作业将通过系统状态发生的更改自动启动和停止,包括作业的启动和停止。这与基于依赖项的init守护进程不同,后者启动一组指定的目标作业,并通过迭代它们的依赖项来解决它们应该启动的顺序和其他作业所需的顺序。主要事件是startup (7)事件,在守护进程加载完其配置后发出。其他有用的事件是以作业更改状态发出的starting (7)、started (7)、stopping (7)和stopped (7)事件。
      init有7种运行等级
运行等级
说明
0
关机
1
单用户模式
2
多用户模式,不启动nfs
3
多用户模式,有网络功能
4
保留
5
图形界面
6
重启
      Upstart init(守护进程不跟踪运行级别本身,而是完全由用户空间工具实现。为表示运行级的更改而发出的事件是runlevel(7)事件。
      此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法
      init [选项]  [参数]

2、选项列表
选项
说明
--help
显示帮助文档
--version
显示命令版本
--verbose
将有关作业状态更改和事件释放的详细消息输出到系统控制台或日志,这对于调试引导非常有用。


论坛徽章:
1
15-16赛季CBA联赛之福建
日期:2018-12-10 14:43:45
发表于 2019-01-31 07:18 |显示全部楼层
nice
        nice指令可以设置程序运行的优先级,优先级会影响到程序的调度时间。nice的范围是-20~19,其中-20级别最高,19级别最低。
        此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法
        nice [选项]  [cmd]

2、选项列表
选项
说明
--help
显示帮助文档
--version
显示命令版本
-n | --adjustment=N
设置优先级

3、实例
1)设置指令wc优先级
[root@localhost ~]# nice -n 19 wc                    //设置wc的优先级最低
^Z                                                        //按下组合键ctrl+z
[2]+  Stopped                 nice -n 19 wc
[root@localhost ~]#
2)查看进程优先级
[root@localhost ~]# ps -ao "%p%y%x%c%n"             //查看进程等级,wc的等级是19
  PID TTY          TIME COMMAND          NI
8321 pts/0    00:00:00 wc               19
8370 pts/0    00:00:00 ps                0




论坛徽章:
1
15-16赛季CBA联赛之福建
日期:2018-12-10 14:43:45
发表于 2019-02-01 08:16 |显示全部楼层
nohup
        nohup可以使程序能够忽略挂起信号,继续运行。用户退出时会挂载,而nohup可以保证用户退出后程序继续运行。如果标准输入是终端,请将其从/dev/null重定向。如果标准输出是终端,则将输出附加到“nohup.out”(如果可能的话),否则追加到“$home/nohup.out”。如果标准错误是终端,请将其重定向到标准输出。若要将输出保存到文件中,请使用“nohup COMMAND > FILE”。
       此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法
       nohup cmd

2、选项列表
选项
说明
--help
显示帮助文档
--version
显示命令版本

3、实例
       以nohup形式运行find指令
[root@localhost ~]# nohup find /weijie/ -name *.c             //运行find
nohup: 忽略输入并把输出追加到"nohup.out"                            //结果会保存到nohup.out文件中
[root@localhost ~]# cat nohup.out                                //查看结果
/weijie/11.c
/weijie/4.c
/weijie/2.c
/weijie/3.c
/weijie/5.c
/weijie/1.c



论坛徽章:
1
15-16赛季CBA联赛之福建
日期:2018-12-10 14:43:45
发表于 2019-02-02 07:49 |显示全部楼层
pkill
       pkill可以给指定的进程发送信息,它可以结束某个执行的进程或者目录登录的用户。
       此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法
       pkill [-signal]  [-fvx]  [-n|-o] [-P ppid,...]  [-g pgrp,...]  [-s sid,...]  [-u euid,...]  [-U uid,...]  [-G gid,...]  [-t term,...]  [pattern]

2、选项列表
选项
说明
--help
显示帮助文档
--version
显示命令版本
-f
查找完成的文件名
-g pgrp
只匹配列出的进程组ID中的进程。进程组0被转换为pgrep或pkill自己的进程组。
-G gid
只匹配实际组ID列出的进程。可以使用数值或符号值。
-n
选择最近执行的进程
-o
选择最早的进程
-P ppid
选择父pid匹配的进程
-s sid
只匹配进程会话ID列出的进程。会话ID 0被转换为pgrep或pkill自己的会话ID。
-t term
查找符合终端号的进程
-u euid
只匹配其有效用户ID列出的进程。
-U uid
只匹配实际用户ID列出的进程。可以使用数值或符号值。
-v
查找不符合条件的进程
-x
只匹配其名称(如果-f指定了命令行)与模式完全匹配的进程。
-signal
要发送的信号

3、返回值
退出码
说明
0
一个或多个进程符合。
1
没有进程符合
2
命令的语法错误
3
致命错误:内存不足等。

4、实例
       杀死wc进程
[root@localhost ~]# pkill -SIGKILL wc                   //wc发送KILL信号,杀死进程
[1]-  已杀死               nice -n 19 wc
You have new mail in /var/spool/mail/root
[root@localhost ~]# ps                                    //查看进程,wc已经杀死
  PID TTY          TIME CMD
8266 pts/0    00:00:00 bash
8554 pts/0    00:00:00 ps



论坛徽章:
1
15-16赛季CBA联赛之福建
日期:2018-12-10 14:43:45
发表于 2019-02-03 07:13 |显示全部楼层
renice
       renice指令可以重新调整程序运行的优先级,可以通过进程id、用户id、组id来修改优先级。修改组的等级,影响组内所有用户的所有进程优先级;修改用户等级,影响该用户的所有进程优先级。除了超级用户之外,其他用户只能改变他们拥有的进程的优先级,并且只能在0到PRIO_MAX(20)范围内单调地增加他们的“nice value”。(这防止了凌驾于行政法规之上。)超级用户可以更改任何进程的优先级,并将优先级设置为PRIO_MIN(-20)~PRIO_MAX。
       此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法
      renice -n N  –u  username
      renice  -n N  –g  gid
      renice  -n N  –p  pid

2、选项列表
选项
说明
-h | --help
显示帮助文档
-v | --version
显示命令版本
-n | --priority
优先级
-u | --user=name
设置指定用户的优先级
-g | --pgrp=gid
设置组的优先级
-p | --pid=PID
设置指定进程的优先级

3、实例
1)通过pid修改指令wc优先级
[root@localhost ~]# ps -ao "%p%y%x%c%n"                           //查看进程优先级
  PID TTY          TIME COMMAND          NI
8321 pts/0    00:00:00 wc               19
8451 pts/0    00:00:00 ps                0
[root@localhost ~]# renice -n 15 -p 8364                         //重设wc进程的优先级,变为15
8364: old priority 19, new priority 15
2)修改用户root的优先级
[root@localhost ~]# renice -n 0 -u root                          //修改用户root的优先级为0
0: old priority -11, new priority 0
[root@localhost ~]# ps -ao "%p%y%x%c%n"                         //查看进程优先级,当前进程都是root用户的,优先级都是0
  PID TTY          TIME COMMAND          NI
8321 pts/0    00:00:00 wc                0
8364 pts/0    00:00:00 wc                0
8458 pts/0    00:00:00 ps                0




论坛徽章:
1
15-16赛季CBA联赛之福建
日期:2018-12-10 14:43:45
发表于 2019-02-04 08:21 |显示全部楼层
做了一个Linux学习的平台,目前出来一个雏形,各位可以参考使用
链接:[color=rgb(68, 68, 6]https://pan.baidu.com/s/1GOLVU2CbpBNGtunztVpaCQ  密码:n7bk
4.gif

论坛徽章:
1
15-16赛季CBA联赛之福建
日期:2018-12-10 14:43:45
发表于 2019-02-04 08:23 |显示全部楼层
killall
       killall可以根据名字来杀死进程,它会给指定名字的所有进程发送信息。如果没有指定信号名,则发送SIGTERM。信号可以通过名称(例如-HUP或-SIGHUP)或数字(例如-1)或选项-s来指定。如果命令名不是正则表达式(选项-r),并且包含斜杠(/),则将选择执行该特定文件的进程,与其名称无关。如果每个列出的命令至少有一个进程被杀死,或者没有列出命令,并且至少有一个进程符合-u和-Z搜索条件,则KILLALL返回一个零返回代码。否则KILLALL返回非零。KILLALL进程永远不会杀死自己(但可能会杀死其他KILLALL进程)。
       此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法
       killall [选项]  name

2、选项列表
选项
说明
-e | --exact
进程需要和名字完全相符
-I | --ignore-case
忽略大小写
-g | --process-group
结束进程组
-i | --interactive
结束之前询问
-l | --list
列出所有的信号名称
-q | --quite
进程没有结束时,不输出任何信息
-r | --regexp
将进程名模式解释为扩展的正则表达式。
-s | --signal
发送指定信号
-u | --user
结束指定用户的进程
-v | --verbose
显示详细执行过程
-w | --wait
等待所有的进程都结束
-V |--version
显示版本信息
--help
显示帮助信息

3、实例
结束所有进程
[root@localhost ~]#ps                        //查看进程,有3wc进程
  PID TTY          TIME CMD
8266 pts/0    00:00:00 bash
9781 pts/0    00:00:00 wc
9784 pts/0    00:00:00 wc
9785 pts/0    00:00:00 wc
9786 pts/0    00:00:00 ps
[root@localhost ~]# killall -9 wc          //结束所有的wc进程
[root@localhost ~]#ps                       //查看进程,wc都被杀死
  PID TTY          TIME CMD
8266 pts/0    00:00:00 bash
9788 pts/0    00:00:00 ps
[1]   已杀死               nice -n 19 wc
[2]-  已杀死               nice -n 19 wc
[3]+  已杀死               nice -n 19 wc


论坛徽章:
1
15-16赛季CBA联赛之福建
日期:2018-12-10 14:43:45
发表于 2019-02-05 09:44 |显示全部楼层
watch
       watch指令可以间歇性的执行程序,将输出结果以全屏的方式显示,默认是2s执行一次。watch将一直运行,直到被中断。
       此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

2、        语法
       watch  [-dhvt]  [-n <seconds>]  [--differences[=cumulative]]  [--help] [--interval=<seconds>]  [--no-title]  [--version]  <command>

2、选项列表
选项
说明
-d | --differences
高亮显示差异部分
--cumulative
高亮显示“sticky”
-n
指定时间间隔
-t | --no-title
不显示日期时间以及间隔秒数
-h | --help
帮助信息
-v | --version
显示版本信息

3、例子代码
查看邮件
watch -n 60 from
查看目录内容的变化
watch -d ls –l
如果您只对用户Joe拥有的文件感兴趣,可以使用
watch -d ’ls -l | fgrep joe’
要想看到引号的效果,请试一试
watch echo $$
watch echo ’$$’
watch echo "’"’$$’"’"
您可以监视管理员安装最新的内核。
watch uname -r

4、实例
每3s执行一次ls指令
[root@localhost ~]# watch –n 3 ls              //3s执行一次ls
Every 3.0s: ls                                                             Sun Sep 23 09:04:40 2018
1
1.c~
anaconda-ks.cfg
icmp_echo_ignore_all~
icmp_echo_ignore_alv~
icmp_echo_ignore_alw~
icmp_echo_ignore_alx~
icmp_echo_ignore_aly~
icmp_echo_ignore_alz~
install.log
install.log.syslog
mail
nohup.out
公共的
模板
视频
图片
文档
下载
音乐
桌面


您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP