linux后续2.1

命令

命令格式   命令名称 [命令参数] 命令对象

获取地址:ip a 或 ifconfig

重启:reboot

立刻关机 :shutdown -h now 或 shutdown -r now 或 poweroff  

查看版本:cat /etc/redhat-release

查看内核版本:uname -r

查看shell类型: cat /etc/shells 或 chsh -l

进入root模式 :su root

su -zhang和su zhang的区别

加 - 权限更高

显示工作目录:pwd (print work directory)

切换当前工作目录:cd  ?(change directory)

cd /root

切换到上一次切换的目录:cd -

切换到当前用户的家目录:cd ~

列出当前工作目录下的内容:ls ??

ls -l  等于 ll

-l:以长格式的形式显示文件和目录的信息

-a:显示所有文件及目录 (.开头的隐藏文件)

-A:不列出.(当前目录)和.. (父目录)

-h:在ls -l基础上去使用h,以人类可读的方式显示当前目录中文件和目录的大小

/bin 软链接(快捷方式),符号链接,binaries(二进制文件),可执行的应用程序。

/boot:存放的是启动程序后的核心文件(链接文件和镜像文件)

/dev:存放的是linux的外部设备(光驱)

/etc:存放的是系统管理所需要的配置文件

/home:普通用户的家目录

/root:root用户的家目录

/lib:library(库),存放着系统最基本的动态连接共享库(32位),

/lib64: ibrary (库),存放着系统最基本的动态连接共享库(64位)

/media:挂载点目录,让用户去临时挂载别的文件系统。系统默认

挂载点目录

/mnt:挂载点目录,手动去挂载点目录

/opt: optional (可选).主机给额外安装软件所摆放的目录。

/sbin:超级用户的二进制文件的缩写,存放的是系统管理员所使

用的系统管理程序。(超级管理员自己能用到的一些命令)

/srv:第三方服务,存放的是一些服务启动后需要提取的数据。

/tmp:临时存储的文件夹

/pwd:命令用于显示工作目录

/usr:unix shared resourse(共享资源),很多应用程序和文件

都存放在该目录中。

/var:变量的缩写,存放的不断扩充的东西。(日志文件)

/run:是临时文件系统,存放的系统启动以来的信息(守护进程)

/sys:

/proc:进程的缩写。程序(源代码生成的可执行文件)、进程

(程序执行后形成了进程,它会占用内存资源)

help:

help 命令 (例如help cd)

--help:

命令 --help

man手册:

man 命令

如man passwd(q退,空格下页,b上页,n(N)上(下)个一关键字)

info

info 命令

ping -c 5 baidu.com:只接受五次回包

date "+%Y":显示当前年份(系统时间)

date"+%g":

date -s "20190218 12:00:00" 设置时间伟2019年2月18号12:00

date 001218022019         设置时间为2019年2月18日12点(不能加秒)

date -s "19970222 10:10:11":设置时间

%Y%m%d %H%M%S

年月日 时分秒

clock:显示硬件时钟

hwclock:显示硬件时钟

timedatectl set-ntp true:自动同步时间(true开启,false关闭)

hwclock -s:将系统时间(date) 同步到 硬件时间(clock)

hwclock -w:将硬件时间(clock) 同步到 系统时间(date)

cal:当前月份的日历(系统时间)

cal 月 年:查看月份日历

cal 年:查看年份各月的日历(12个)

timedatectl status:查看详细时间(好几个时间)

timedatectl set-timezone Asia/Shanghai:设置时区为亚洲上海

目录

目录文件:蓝色的

软链接:

绿色的(还有个箭头),相当于windows中的快捷方式

文件:元数据iNode(索引节点)唯一标识

    1. 对不存在的目录和文件进行创建
    2. 对存在的目录和文件进行创建
    3. 可以跨文件系统创建的
    4. 删除软链接的时候对原文件没有任何影响

硬链接:

相当于文件副本

    1. 必须有原始文件
    2. 在同一文件系统里面创建
    3. 不能在目录进行创建

软链接、硬链接创建方式:

软:ln -s 原文件名 新文件名

硬:ln 原文件名 新文件名

ls -i 文件名:索引节点是否相同判断是软链接(不同)还是硬链接(一样)

rw-A--B--C--D

A:该文件的所有者对文件的权限。

B:该文件的所属组的对该文件的权限。

C:其他人对该文件的权限。

D :扩展权限。

d rwx r-x r-x:文件类 + 所有者权限 + 所属者权限 + 其用户权限

-

普通文件 (f)

d

目录文件

b

块设备文件 (block)

c

字符设备文件 (character)

l

符号链接文件(symbolic link file)

p

命令管道文件(pipe)

s

套接字文件(socket)

文件权限: 9位,每3位一组,每一组:rwx(读,写,执行)  -:没有权限

第一组为: 文件拥有者的权限, 该文件的拥有者可以读写,但不可执行;

stat 文件(夹)名

Access  访问时间,文件的最近的一次访问时间

Modify  修改时间,修改文件内容的时间

Change  改变时间,原数据内容的改变的时间

Birth   创建时间,文件创建的时间

stat

命令主要用于显示文件或文件系统的详细信息  

stat [??] 文件名

  1. -L:显示符号链接所指向文件的信息
  2. -f:显示文件所在文件系统的信息
  3. -t:以简洁方式输出信息
  4. -c:以特定格式输出文件的某些信息

alias查看别名,\命令 去掉别名

rm

        rm -rf 文件:

        rm -rf * :删所有

        -f 强制删除

        -r 递归删除详细linux rm -rf命令

touch:创建文件

mkdir:创建目录

        mkdir -p 1/2/3/4 :级联目录1中有2,2中有3,3中有4

tree 文件名:查看树结构

10.31

cp  复制

-a:为每个已存在的目标文件创建备份,全复制

-r:递归复制目录及其子目录内的所有内容

-p:属性不变

cp [ ]  文件(可多个)  目标位置

mv  移动

mv [选项] 文件 目标文件:文件没有改名为目标文件名

-r  //递归剪切目录中所有文件和文件夹

 

数据流和重定向

标准输入 stdin (standardinput):从键盘获取的输入,

代码0

标准正确输出 stdout (standard output): 命令执行后的正确信息会输出到屏幕上,

代码1

标准错误输出 stderr(standard error output): 命令执行失败后的错误信息会输出到屏幕上,代码2

重定向操作符

输出重定向操作符

>输出重定向符,>>追加输出重定符

文件1 > 文件2:用 > 符号覆盖文件2

文件3 >> 文件4:使用 >> 符号可以将文件3内容附加到文件4末尾而不覆盖原有内容

 cat  文件:标准输出

echo 字符串的输出

echo [字符串][$变量]

echo 字符串 >>(或>) 文件 :把字符串写入文件,文件不存在则创建新文件

管道符: |

命令 管道符 tee 文件

df -h:显示文件系统的磁盘使用情况

vim 键盘图

 

whereis

可以搜索系统命令的可执行文件路径和说明文档,#which ls

which

which 是搜索系统命令的可执行文件

locate

按照数据库搜索,搜索速度快,消耗资源小

数据库位置/var/lib/mlocate/mlocate.db可以使用updatedb 命

令强制更新数据库#locate ls

find

可按照文件名、大小、时间、权限、类型所属者、所属组来搜索文件

find [path...][expression]

find路径匹配表达式

-name 文件名 (*,?)   *f   f*   f?f

find -name "f*"  //查找f开头的文件,要用双引号

-type 文件类型 (f普通文件、d 目录文件、I链接文件)。

find -type f  

-size 文件大小 +1M-1M c(字节) w(字数)b(块数) K M G

-user 文件的所有者

-group 文件的所属组

-atimen 分钟 查找n分钟内被访问的文件

-ctime n 分钟 change改变时间,原数据内容的改变的时间

-mtime n 小时

-mmine n 分钟

-exec .... {} \;

find . -type d -exec ls -l -h {} ;

locate /etc/sh     查找etc中以sh开头的文件

grep:用于查找文件里面的字符串或者正则表达式

grep 选项 字符串文件的路径

   -n 查找到字符串所在行

   -c 查找到字符串在的行号,有多少个

   -l 只打印匹配到文件名

   -v 反向查找

   -r 递归查找。

   ^[sg]: 匹配以s或g开头的行

   ^[^sg]: 不匹配以s或g开头的行

   ^[0-9]: 匹配数字开头的行

    n$ :匹配以n结尾的行

    -v ^$或^[^$]:匹配非空行

cat

cat 选项 文件

-n 对输出内容中的所有行标注行号

-b 对输出内用中的非空行表标记行号,空白行不编号

head 可用于查看文件的开头部分的内容,默认显示前十行。

head 选项 数字 文件

-n 显示多少行

-q 隐藏文件名个

-v 显示文件名

-c <数目>显示的字节数。

-n <行数> 显示的行数。

tail :显示后几行

tail 参数 文件

sort 选项  源文件 -o 输出文件

补充说明:sort可针对文本文件的内容,以行为单位来排序。

参  数:

-b   忽略每行前面开始出的空格字符。

-c   检查文件是否已经按照顺序排序。

-f   排序时,忽略大小写字母。

-M   将前面3个字母依照月份的缩写进行排序。

-n   依照数值的大小排序。

-o<输出文件>   将排序后的结果存入指定的文件。

-r   以相反的顺序来排序。

-t<分隔字符>   指定排序时所用的栏位分隔字符。

-k  选择以哪个区间进行排序。

tr

cat 文件 | tr a-z A-Z: 把文件里的a-z换成A-Z

wc 命令用于计算字数。

利用wc指令我们可以计算文件的Byte数、字数、或是列数,若不指定文件名称、或是所给予的文件名为"-",则wc指令会从标准输入设备读取数据。

wc 参数 文件  显示大小 行数 字数 文件名

wc [-clw][--help][--version][文件...]

参数

  1. -c 或--bytes或--chars 只显示Bytes数。
  2. -l 或--lines 显示行数。
  3. -w 或--words 只显示字数。
  4. --help 在线帮助。
  5. --version 显示版本信息。

zip 压缩

zip 新名字.zip 原名字

unzip 文件名.zip  :解压缩

∆ tar 压缩c 解压x

tar -选项f 包名  :一般是 -cf或-cvf

-v:显示压缩的具体文件 

-c: 创建tar格式的包文件

-x: 释放.tar格式的包文件

-t: 查看包中的文件列表

tar -xvf a.tar -C /home/zhang/  : 将a.tar压缩包解压到/home/zhang/中

scp 传文件

就是secure copy,是用来进行远程文件拷贝的。数据传输使用 ssh,并且和ssh 使用相同的认证方式,提供相同的安全保证 。

命令格式:scp [参数] <源地址(用户名@IP地址或主机名)>:<文件路径> <目的地址(用户名 @IP 地址或主机名)>:<文件路径>

scp /home/work/source.txt work@192.168.0.10:/home/work/ #把本地的source.txt文件拷贝到192.168.0.10机器上的/home/work目录下

scp work@192.168.0.10:/home/work/source.txt /home/work/ #把192.168.0.10机器上的source.txt文件拷贝到本地的/home/work目录下

scp work@192.168.0.10:/home/work/source.txt work@192.168.0.11:/home/work/ #把192.168.0.10机器上的source.txt文件拷贝到192.168.0.11机器的/home/work目录下

scp -r /home/work/sourcedir   work@192.168.0.10:/home/work/ #拷贝文件夹,加-r参数

scp -r /home/work/sourcedir work@www.myhost.com:/home/work/ #使用主机名

scp -r -v /home/work/sourcedir work@www.myhost.com:/home/work/ #显示详情,加-v参数

单引号请引用:输入啥打印啥

双引号弱引用:

shell

alisa 别名='命令' :起别名

unalisa 别名 :删除别名

history 查看历史命令

history 命令

ls -a | vim .bash_history  查看配置文件中的历史记录

-w 删除配置文件中的历史记录

-c 清理历史记录

-d 删除指定序号命令

vim /etc/passwd 用户账号文件

root:x:0:0:

账户名称 密码占位符 uid gid 个人资料 主目录 默认shell

  1. 用户名:代表账号
  2. 口令:存放着加密后的用户口令,虽然这个字段存放的只是用户口令的加密串,不是明文,但是由于/etc/passwd文件对所有用户都可读,所以这仍是一个安全隐患。因此,现在许多Linux版本都使用了shadow技术,把真正加密后的用户口令存放到/etc/shadow文件中,而在/etc/passwd文件的口令字段中只存放一个特殊的字符,例如,用x或者*来表示。
  3. 用户标识号:就是用户的UID,每个用户都有一个UID,并且是唯一的。通常UID号的取值范围是0~65535,0是超级用户root的标识号,1~99由系统保留,作为管理账号,普通用户的标识号从100开始。而在Linux系统中,普通用户UID默认从500开始。UID是Linux下确认用户权限的标志,用户的角色和权限都是通过UID来实现的
  4. 组标识号:就是组的GID,与用户的UID类似,这个字段记录了用户所属的用户组。它对应着/etc/group文件中的一条记录。
  5. 注释性描述:该字段是对用户的描述信息,例如,用户的住址、电话、姓名等。
  6. 主目录:也就是用户登录到系统之后默认所处的目录,也可以叫作用户的主目录、家目录、根目录等。
  7. 默认shell:就是用户登录系统后默认使用的命令解释器。shell是用户和Linux内核之间的接口,用户所做的任何操作,都是通过shell传递给系统内核的。Linux下常用的shell有sh、bash、csh等,管理员可以根据用户的习惯,为每个用户设置不同的shell。

/etc/shadow 用户密码文件

bin:*:19347:0:99999:7:::

 1、账户名称

  2、加密后的密码:如果为空,则对应用户没有口令,登录时不需要口令;星号代表帐号被锁定;双叹号表示这个密码已经过期了,故为*或者!!时都不能登录。$6$开头的,表明是用SHA-512加密;$1$表明是用MD5加密;  $2$ 是用Blowfish加密;$5$ 是用 SHA-256加密;

  3、最近改动密码的日期(是一堆数字,这个是从1970年1月1日算起的总的天数)。

  4、密码不可被变更的天数:设置了这个值,则表示从变更密码的日期算起,多少天内无法再次修改密码,如果是0的话,则没有限制.

  5、密码需要重新变更的天数:密码经常更换才能保证安全,为了提醒某些经常不更换密码的用户,可以设置一个天数,强制让用户更换密码,也就是说该用户的密码会在多少天后过期,如果为99999则没有限制

  6、密码过期预警天数:如果在5中设置了密码需要重新变更的天数,则会在密码过期的前多少天进行提醒,提示用户其密码将在多少天后过期

  7、密码过期的宽恕时间:如果在5中设置的日期过后,用户仍然没有修改密码,则该用户还可以继续使用的天数

  8、账号失效日期,过了这个日期账号就不能用了

  9、保留的

/etc/group 用户组账号文件

用户组名 组密码 gid 组中的用户

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

root:x:0:

bin:x:1:bin,daemon

daemon:x:2:bin,daemon

组名 也就是是用户组的名称,有字母或数字构成。同 /etc/passwd 中的用户名一样,组名也不能重复。

组密码 和 /etc/passwd 文件一样,这里的 "x" 仅仅是密码标识,真正加密后的组密码默认保存在 /etc/gshadow 文件中。

不过,用户设置密码是为了验证用户的身份,那用户组设置密码是用来做什么的呢?用户组密码主要是用来指定组管理员的,由于系统中的账号可能会非常多,root 用户可能没有时间进行用户的组调整,这时可以给用户组指定组管理员,如果有用户需要加入或退出某用户组,可以由该组的组管理员替代 root 进行管理。但是这项功能目前很少使用,我们也很少设置组密码。如果需要赋予某用户调整某个用户组的权限,则可以使用 sudo 命令代替。

组ID (GID):就是群组的 ID 号,Linux 系统就是通过 GID 来区分用户组的,同用户名一样,组名也只是为了便于管理员记忆。

这里的组 GID 与 /etc/passwd 文件中第 4 个字段的 GID 相对应,实际上,/etc/passwd 文件中使用 GID 对应的群组名,就是通过此文件对应得到的。

组中的用户:此字段列出每个群组包含的所有用户。需要注意的是,如果该用户组是这个用户的初始组,则该用户不会写入这个字段,可以这么理解,该字段显示的用户都是这个用户组的附加用户。

举个例子,lamp 组的组信息为 "lamp:x:502:",可以看到,第四个字段没有写入 lamp 用户,因为 lamp 组是 lamp 用户的初始组。如果要查询这些用户的初始组,则需要先到 /etc/passwd 文件中查看 GID(第四个字段),然后到 /etc/group 文件中比对组名。

每个用户都可以加入多个附加组,但是只能属于一个初始组。所以我们在实际工作中,如果需要把用户加入其他组,则需要以附加组的形式添加。例如,我们想让 lamp 也加入 root 这个群组,那么只需要在第一行的最后一个字段加入 lamp,即 root:x:0:lamp 就可以了。

useradd

useradd -G

useradd 选项 用户名  :添加用户

    1. -c <备注>加上备注文字(备注文字会保存在 passwd 的备注栏位中)
    1. -d <登入目录> 指定用户登入时的启始目录
    2. -D 变更预设值
    3. -e <有效期限> 指定帐号的有效期限
    4. -f <缓冲天数> 指定在密码过期后多少天,就关闭该帐号
    5. -g <群组> 指定用户所属的群组
    6. -G <群组> 指定用户所属的附加群组
    7. -m 自动建立用户的登入目录
    8. -M 不会自动建立用户的登入目录
    9. -n 取消建立以用户名称为名的群组
    10. -r 建立系统帐号
    11. -s <shell>  指定用户登录后所使用的 shell 类型
    12. -u <uid> 指定用户 ID

passwd

-n 指定密码最短使用权限

-x 指定密码最长使用权限

-w 制定警告时间

-d 删除用户密码

usermod

usermod 选项 用户

-l 新用户 //改名

userdel  //删除用户

userdel -r 用户名  //家目录和邮箱都删掉,邮箱 /var/spool/mail/

groupadd  创建一个新的组,/etc/group

加密方法:盐:加密密文

权限

一般权限

chmod   //r w x,读,写,执行

chmod 对象[+/-/=] 权限(r/w/x) 文件名  //对象:u g o a(所有者,所属组,其他,所有)

chmod g+x f1

  + - =:加权限,减权限,覆盖权限

数字设定法

- 没有权限 0

x 执行权限 1

w 修改权限 2

r 读取权限 4

eg:u g o  //所属者 所属组 其他人

0 6 3  //  0     2+4    1+2  :没有权限,修改和读取,执行和修改

令格式 :chmod  ABC 文件名

ABC 为所属者,所属组,其他人的权限数字和

特殊权限

SUID  //u,所属者的权限,s权限 ,S没有x执行权限,s有x执行权限

作用: 是为了让一般用户执行某些程序的时候,在程序运行的期间,暂时获得该程序文件的所属者的权限。

SGID //g所属组的权限,

文件:如果SGID 设置在二进制文件上面,则不论用户是谁,都可以在执行该程序的时候程序的所属组将变成该文件的所属组。

目录:如果 SGID 设置 A 目录上,则在该目录内创建的文件或者目录的所属组会变成A目录的所属组

chgrp  :命令用于变更文件或目录的所属群组

chgrp [-cfhRv][--version][所属群组][文件或目录...] 
或
chgrp [-cfhRv][--reference=<参考文件或目录>][--version][文件或目录...]

        -c 或 --changes:效果类似"-v"参数,但仅回报更改的部分。

        -f 或 --quiet 或 --silent:  不显示错误信息。

        -h 或 --no-dereference:  只对符号连接的文件作修改,而不改动其他任何相关文件。

        -R 或 --recursive:  递归处理,将指定目录下的所有文件及子目录一并处理。

        -v 或 --verbose:  显示指令执行过程。

        --reference=<参考文件或目录>:  把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同。

        --version:  显示版本信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值