您的位置:首页 > 运维架构 > Linux

linux 基础命令(二)

2018-04-19 17:39 134 查看
今天继续和大家分享(承接上一章)

(40)vim +文件名(编辑文件,如果文件不存在也是可以编辑的,但是必须保存,单独使用vim是打开vim的使用手册,里面一样可以编辑

文字,但是保存退出前要这么写shift+:w(空格)/路径/文件名)

[root@localhost boke]# cat file
2
o3
2
o3
[root@localhost boke]# vim no(我在里面直接shift+:,q)
[root@localhost boke]# cat no
cat: no: No such file or directory
[root@localhost boke]# vim no(我在里面直接shift+:wq)
[root@localhost boke]# cat no
[root@localhost boke]#

(41)grep -v +关键字(过滤出不包含关键字的行)
其他用法:这里讲的不错(http://blog.51cto.com/silgon/204579
(42)file + 目录/文件名(查看文件属性)

[root@localhost boke]# ls
a  a1b  b  c  file  file1  no  vim
[root@localhost boke]# file a
a: directory
[root@localhost boke]# file no
no: empty
[root@localhost boke]# file vim
vim: ASCII text
[root@localhost boke]#

(43)strings +data类型文件(查看数据类型文件,格式不怎么好看)

[root@localhost boke]# file /var/log/wtmp
/var/log/wtmp: data
[root@localhost boke]# cat /var/log/wtmp (这种查看会有乱码)
~~~reboot2.6.32-431.el6.x86_64 ͚¸5~~~runlevel2.6.32-431.el6.x86_64 ͚¹55~~~runlevel2.6.32-431.el6.x86_64p°̚*~,.tty33LOGIN,.p

°̚..tty44LOGIN..p°̚*.tty22LOGIN*.p°̚0.tty55LOGIN0.p°̚8.tty66LOGIN8.p°̚ڮtty7:0ding:0ذ̚$+ͯpts/0/0ding:0.0p̚ts/0/0ding
Ӛ

굄(§apts/4ts/4ding192.168.1.1387Ӛd
j   pts/1柔Z0       pts/2ϠӚ:       0apts/3Z-Ӛ1Σpts/1ts/1ding192.168.1.138­6Ӛ3§apts/4{JӚ

pts/2ts/2ding192.168.1.138KӚΣpts/KӚݏppts/1ts/1ding192.168.1.138

tty1:0ding:0,ÿ֚
䉁pts/1/1ding:0.05ÿ֚¾fpts/2ts/2ding192.168.1.138(pts/0(ךW腮

pts/0ts/0ding192.168.1.138.ך였fpts/2rךnpts/0rfpts/0ts/0ding192.168.1.138+ךb/([root@localhost boke]# XshellXshellX
-bash: XshellXshellX: command not found
[root@localhost boke]# strings /var/log/wtmp
reboot
2.6.32-431.el6.x86_64
runlevel
2.6.32-431.el6.x86_64
runlevel
2.6.32-431.el6.x86_64
tty3
LOGIN

(44)shutdown (关机,重启命令)
-h now(立即关机)
-r now(立即重启)
(45)poweroff,reboot(也是关机,重启)
(46) hostname(查看主机名)

[root@localhost boke]# hostname
localhost.localdomain

(47)who(查看当前那些用户在线上)

[root@localhost boke]# who
ding     pts/0        2018-04-19 13:39 (192.168.1.138)
ding     tty1         2018-04-19 10:30 (:0)
ding     pts/1        2018-04-19 10:30 (:0.0)

(48)ll --full-time(显示详细时间)
[root@localhost boke]# ll --full-time

total 24
drwxr-xr-x. 3 root root 4096 2018-04-18 13:03:57.061996611 +0800 a
-rw-r--r--. 1 root root    0 2018-04-18 12:58:46.195998792 +0800 a1b
drwxr-xr-x. 2 root root 4096 2018-04-18 13:02:36.033996833 +0800 b

(49)mkdir与touch连用(例子说明)

[root@localhost boke]# mkdir {1..3}
[root@localhost boke]# touch {1..3}/lizi{1..3}

[root@localhost boke]# tree .
.
├── 1
│   ├── lizi1
│   ├── lizi2
│   └── lizi3
├── 2
│   ├── lizi1
│   ├── lizi2
│   └── lizi3
├── 3
│   ├── lizi1
│   ├── lizi2
│   └── lizi3

(50)type,man,--help,info,help,/usr/share/doc(全部是帮助命令)
type:判断命令是外部的还是内部的
help:内部命令使用方法
--help:外部命令使用方法
man:命令使用方法,配置文件(man一共有8个章节,默认第一章节,要看配置文件使用man

5 +文件/一般是存放在 /usr/share/doc)
/usr/share/doc:存放软件帮助文档
info:方法,配置文件(太详细。。。)

(51)date(时间,时间间隔太大的话有可能会造成登录不上机器)
-s(修改时间,"年月日+分时秒"一起修改必须加上双引号)
(52)tzselect,timedatectl(6系统查看修改时区,7系统查看修改时区。这些都属于系统时间)
(53)hwclock(硬件时间)
(54)hwclock --hctosys(硬件时间同步系统时间)hwclock --systohc(系统时间同步硬件时间)
(55)cal(查看日历,后面可以输入月份/年份)

用户和组

1.相关文件
(1)passwd-----用户信息
(2)shadow----用户密码策略
(3)gshadow------组密码策略
(4)default/useradd------创建用户时的一些参数
(5)group-----组的信息
(6)shells-----当前支持的bash(命令解释器)
(7)skel------家目录默认参考文件
(8)login.defs-----创建用户时密码策略,权限等默认参数
*以上文件全部在/etc目录下


[root@localhost boke]# vim /etc/passwd

root:x:0:0:root:/root:/bin/bash

以上以:作分隔本别代表(用户,密码占位符,uid--用户唯一标识符,gid---组唯一标识符,用户说明信息,用户家目录,用户使用的

shell)

[root@localhost boke]# vim /etc/shadow

root:$1$Aj.ZRFcN$mt8l5V.YExG0HtFPb7iWo/:17632:0:99999:7:::

以上以:作分隔本别代表(用户,加密后的密码,最近一次修改密码的时间---从1970-1-1开始往后多少天,密码最短有效期,密码最长有

效期,密码过期的前几天警告,密码失效日期宽限几天给你修改,账户失效日期,保留位)

[root@localhost boke]# vim /etc/group

root:x:0:

以上以:作分隔本别代表(组名,组密码占位符,gid,该组的成员---以,作为分隔)

[root@localhost boke]# vim /etc/gshadow

bin:::bin,daemon

以上以:作分隔本别代表(组名,组密码,组的管理员,该组成员!!!代表无效)

uid类型范围
6 系统 7系统
超级用户 0 0
系统用户 1-499 201-999
普通用户 500-60000 1000-60000
65535 最大支持数(这里强调下,65535是个数,不是范围!也就是说你创建用户可以给他指定65536!!)

(1)useradd,groupadd +用户名+选项(创建用户/组)
-u(指定uid)
-g(指定gid或组名--默认组)
-G(指定附属组)
-d(指定家目录)
-s(指定shell)
(2)id + 用户(查看用户信息)
(3)passwd + 用户名(给用户添加密码,用户初创建root要给密码才能登陆,普通用户自己改密码要知道原来的密码,还要符合一定规

则)
(4)echo 密码 |passwd --stdin 用户(批量给用户设置密码,就是快了一些,但是密码明文不安全)
(5)group +用户名(用户属于那些组)
(6)usermod +选项+参数(6系统里面只能这样,7系统无所谓,修改现有的用户)
-u (修改uid)
-g(修稿默认组)
-G(指定附属组,多个用,分隔)
-d(修改家目录)
-s(修改shell)
-aG(添加附属组,不覆盖原来的)
(7)groupmod -g gid 组名(修改组的gid)
(8)groupadd -n 新组名 老组名 (修改组名)
(9)gpasswd 组名(修改组密码)
(10)userdel -r 用户(删除用户,如果不加-r,邮件,组都还存在)
(11)groupdel 组名(删除组,如果组里面包含着用户,那时不可以删除的,你得把用户移出去或删除才行)
(12)chage + 用户(向导方式修改用户密码策略)
(13)chsh + 用户(修改用户shell)

用户切换
su - + 用户(标准切换用的是被切换用户的环境变量)
su +用户(这个理论上讲应该是当前用户的变量,但是我切换过去是可以用的被切换用户变量)
su -l+用户(与su - 一样)
su -m + 用户(使用当前变量,这里是正确的)
su -c 命令 +用户(接指令)
(当前用户变量可以用env查看,全部变量用set查看)(除了root,su到任何用户都需要密码:这样不×××全)

sudo(相较于su,安全,方便管理)
有了sudo普通用户在不切换到root用户也可以执行一些root可执行的事情,具体能执行多少事情看root在他的控制文件里怎么写的,接来

下去看看

[root@localhost ~]# visudo

## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL

以上从root开始介绍(那个用户 在哪里 以谁的身份 执行什么命令--命令必须是绝对路径---绝对路径可以用which+命令查看。命

令前面有!代表不执行)

这里我添加这条

root    ALL=(ALL)       ALL
tom     ALL=(root)      /usr/sbin/useradd

[root@localhost ~]# su -m tom
bash: /root/.bashrc: Permission denied
bash-4.1$ sudo useradd haha

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.

[sudo] password for tom:
bash-4.1$ if haha

^C
bash-4.1$ id haha
uid=503(haha) gid=503(haha) groups=503(haha)
sudo -u 用户 +命令(一般是root给你其他人身份时使用)
sudo -k (清楚密码缓存)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux 命令