linux 基础命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 基础命令相关的知识,希望对你有一定的参考价值。

今天继续和大家分享(承接上一章)

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

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

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

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

[[email protected] boke]# ls
a  a1b  b  c  file  file1  no  vim
[[email protected] boke]# file a
a: directory
[[email protected] boke]# file no 
no: empty
[[email protected] boke]# file vim 
vim: ASCII text
[[email protected] boke]# 

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

[[email protected] boke]# file /var/log/wtmp 
/var/log/wtmp: data
[[email protected] boke]# cat /var/log/wtmp (这种查看会有乱码)
~~~reboot2.6.32-431.el6.x86_64 ??5~~~runlevel2.6.32-431.el6.x86_64 ?155~~~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/([[email protected] boke]# XshellXshellX
-bash: XshellXshellX: command not found
[[email protected] 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(查看主机名)

[[email protected] boke]# hostname 
localhost.localdomain

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

[[email protected] 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(显示详细时间)
[[email protected] 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连用(例子说明)

[[email protected] boke]# mkdir {1..3}
[[email protected] boke]# touch {1..3}/lizi{1..3}

[[email protected] 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目录下

[[email protected] boke]# vim /etc/passwd

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

shell)


[[email protected] boke]# vim /etc/shadow

root:$1$Aj.ZRFcN$mt8l5V.YExG0HtFPb7iWo/:17632:0:99999:7:::
以上以:作分隔本别代表(用户,加密后的密码,最近一次修改密码的时间---从1970-1-1开始往后多少天,密码最短有效期,密码最长有

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


[[email protected] boke]# vim /etc/group

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


[[email protected] 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在他的控制文件里怎么写的,接来

下去看看

[[email protected] ~]# visudo

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

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

令前面有!代表不执行)

这里我添加这条

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

[[email protected] ~]# 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 基础命令的主要内容,如果未能解决你的问题,请参考以下文章

linux中怎么查看mysql数据库版本

markdown [Docker] Docker片段列表和命令#linux #docker #snippets

Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段

20155201 李卓雯 《网络对抗技术》实验一 逆向及Bof基础

逆向及Bof基础实践

20155307刘浩《网络对抗》逆向及Bof基础