linux基础命令1

内容包含:文件管理、重定向和管道、用户组和权限管理、文本处理工具

文件管理

mkdir     创建目录

-p #创建子目录,若父目录不存在,则创建父目录

例: mkdir -p /app/dir1/dir2

rmdir     删除空目录

-p #删除空目录,若父目录为空则同时删除

 

ln           创建硬链接 (不能跨分区创建)

-s 创建软链接 (可以跨分区)

重点:源文件相对路径是相对于目标文件的路径(不是相对于当前工作目录的路径)

 

file          判断文件类型

-b 只显示结果不显示文件名

-f 批量判断文件列表中的文件类型

-F 用指定符号替代:(默认输出格式 文件名:文件类型)

-L 判断软连接指向的真实文件的类型

##额外知识点##    

df -i  #查看分区支持的节点编号数

watch -n 1 命令   1秒执行一次命令

目录里存的是文件名和节点号inode

readlink 显示软连接的原始文件路径

重定向和管道

标准输入0    标准输出1    标准错误 2

>   标准输出重定向

2>   标准错误重定向

&>  所有输出重定向 等同于 2>&1

 

tr    替换或删除字符

-t 字符对应替换

-d 删除字符

-s 去重(连续重复)

-c 取反 相当于非

 

cat > f1 单行重定向

cat > f1 <<EOF   多行重定向  EOF是结束语(可以是任意字符)

 

|     管道(默认传输标准输出)

|&   传输标准输出和标准错误

|tee 屏幕输出同时存入文件

 

##额外知识点##

set -C 文件存在禁止覆盖 (单独执行)

set +C 取消禁止

/dev/null  输出信息重定向到此文件 相当于垃圾箱

mail -s 主题 用户 <

邮件正文加命令或变量必须是多行重定向

tar -cvf – /home | tar -xvf –

seq -s + 1 10 | bc

seq 1 2 100

用户组和权限管理

用户的组:主组、附加组

/etc/passwd 用户及属性信息

/etc/group  组及属性信息

/etc/shadow 用户密码及相关属性

/etc/gshadow 组密码及相关属性

/etc/skel  #创建用户家目录模板

/etc/login.defs #创建用户相关配置

 

getent   查看文件内容(passwd、shadow、gpasswd、gshadow)

+用户名  #查看文件内指定用户信息

例: getent passwd root

 

chsh      -s  #更改用户的shell        例:chsh -s /sbin/nologin zhang

-l    列出所有的shell

 

id 不加用户名 #显示当前用户登陆后的信息(不显示登陆后更改的信息)

id 用户名  #从文件中读取用户的信息

 

newgrp 组名 #临时更换主组,不改文件

 

vipw      #单独执行,相当于vi /etc/passwd

vigr        #单独执行,相当于vi /etc/group

pwck     #检查passwd文件错误

grpck     #检查gshadow文件错误

 

useradd #添加用户(默认锁定不能登陆)

-c #添加描述信息

-g #指定主组

-d #指定家目录

-s #指定shell

-G #指定辅助组

-D 查看创建用户默认配置文件内容 等同于cat /etc/default/useradd

-s 指定shell

示例:useradd -r -m -d /app/zabbix -s /sbin/nologin zabbix

 

usermod -d 指定新家目录路径

-m 移动家目录

-s  更改shell

-L  #锁定用户

-U 取消用户锁定 !!(新建用户取消锁定只有centos5可以)

-G 添加辅助组(默认覆盖)  -aG #追加辅助组

-l  修改用户名

-g 修改主组

#删除附加组        usermod -G ” 用户名  或者 usermod -G 主组名 用户名

userdel   删除用户(只删除账号,不删除其他文件)

-r 删除用户及相关文件

passwd  更改用户密码(默认更改当前登陆用户,加用户名则更改指定用户)

groupadd #创建组

 

su          #切换用户(非登陆式切换,环境没变)

su –       #登陆式切换

su -root -c ‘命令’  切换为root执行命令,然后退出root

 

passwd -e    #用户密码即时失效(密码更改时间为0)

chage           #更改用户口令相关时间

chfn              添加用户的描述信息(部门、电话等)

finger            查看用户的描述信息

 

groupadd     创建组

-r 创建系统组

-g 指定组id号

groupdel       删除组

groupmod    更改组相关属性

-n 指定新名字

-g 指定新的gid

gpasswd        -a 用户名 组名  #把用户加入组(组管理员操作)

-d 用户名 组名  #把用户从组里移除

-A 用户名 组名  #把用户设置为组管理员

groupmems -l -g 组名           #查看组内成员

-a 用户 -g 组     #把用户添加到组

-d 用户 -g 组     #从组中删除用户

-p                       #把组内的成员清空

groups   #查看当前用户的组

 

文件权限  r w x (和文件系统有关)

r,w权限对root无效,x有效

acl 访问控制列表(对多个用户或组单独设置权限

 

小x:所有文件都可以加执行权限

大X:只对目录和有执行权限的文件加执行权限

chmod     who            opt                 文件名

u,g,o,a   +,-,=   r,w,x

例:chmod u=rw,g=r,o= 文件名

 

chown 更改文件所属组

例: chown bin.ftp f1  把f1所有者改为bin,所属组改为ftp

其他:chown –reference f1 f2  按照f1权限设置f2

chgrp 更改文件所属组

 

目录权限

x:可以进入目录,基础权限

r:列出目录文件列表(需要x)

w:可以在目录中建或删除文件(需要x)

 

umask 影响用户创建的文件或目录的权限

目录:777-umask

文件权限:666-umask=结果奇数位+1    或 666-(umask-1)

umask 266 设置umask为266

.bashrc 在文件中更改umask值

umask    -p输出可被调用

-S模式方式显示

文件中更改umask值:全局 /etc/bashrc 单用户 ~/.bashrc

 

suid  4(u s)  覆盖x权限  权限号4      #4777

只能作用在二进制程序,不能作用在脚本

用户执行s权限的程序将继承所有者的权限

sgid  2(g s)

二进制程序:用户执行s权限的程序将继承所属组的权限

作用在目录:目录下生成的新文件自动继承目录所属组

对于目录的suid和sgid,只能用 u-s,g-s 去掉

 

*sticky 1(o t)  #只作用在目录才有意义

作用在目录:不能删除别人的文件

 

chattr +i/-i 文件名/目录    #文件/目录将不可被更改、删除、防止误操作

+a/-a              #只可以追加内容

+A/-A           #不更新读时间

lsattr 文件/目录 显示特定属性

 

ACL 系统中有没有这个功能取决于文件系统

设置acl之后,g权限位置显示的是mask权限

setfacl    -m u:用户名:权限 文件名    #u用户 g组

group::权限            #更改文件所属组权限

mask::权限

-x 同上                  #删除权限

-X 批量文件 文件名     #批量删除权限

-b 文件名              #清空acl

-R

-M 权限文件 文件名    #文件中按照格式

-d #默认包含指定权限(新生成文件和旧)等同于d:

-k 目录名 #删除默认权限

getfacl 文件名  #查看文件权限

 

例子:备份恢复acl权限

getfacl -R html > html.acl

setfacl -R -b html

setfacl –restore html.acl

 

ACL权限生效顺序

所有者,自定义用户,所属组|自定义组,其他

{     权限不能超过mask      }

 

例:getfacl f1 | setfacl –set-file=- f2              #f2按照f1的acl权限设置

setfacl -R –set-file=文件名 f2         #从文件中恢复权限

setfacl –set u::r,u:lqd:rw,g::r,o::- f2    #对f2文件重新设置权限

 

mask 限定了自定义用户和组的最高权限

##额外知识点##

pwunconv    pwconv                     #密码存放转换

auth –passalgo=sha256 –update     #更改加密算法

echo 密码 | passwd –stdin wang   #设置用户密码

批量创建账号和修改密码

newusers 文件名 #,文件内容格式按照passwd

cat 文件名 | chpasswd  文件内容格式 用户名:密码

 

文本处理工具

cat -n 加行号

-b 加行号,空行不加  等价于 nl

-A 显示所有控制符

-s 压缩连续空行为一行

-E 显示结束符

-V win文本能看到^M

tac 反向显示行

rev 反向显示列

 

more 分页显示 到底退出 空格下翻 b上翻(管道不起作用)

less 分页显示 到底不退出

/文本 搜索文本

 

head 文件   #默认读取前十行

-n 3  或者 -3     #显示前3行

-c3 取前3个字节

 

tail    #默认读取后十行

-f 跟踪文件后10行 (常做观察日志文件使用)

-f 文件 &  在后台监控文件后10行

-f 文件 -n0 &  #只显示新增加的行并在后台运行

-F 跟踪文件后10行并监控文件名

tailf 等同于 tail -f #性能更好,文件不增长时不访问文件

 

cut 剪切内容-以列为单位,默认tab作为分隔符

-d 指定分隔符

-f 指定列

例:  cut -d: -f1-3,7    –output-delimiter=”分隔符” 文件

#以:作为分隔符取第1和3列       更改显示分隔符

例子:df | cut -c44-46  #取第44到46个字符

 

paste 将多个指定文件按行合并 默认分隔符为tab

-d’分隔符’  指定合并后的分隔符

-s 把单个文件合并为一行,并把多个文件追加合并

 

wc   统计  显示格式: 行 单词 字节

-l 行数

-w 单词数

-L 最长行的字符数

 

sort 排序 默认第一列

-n 按数字从小到大排序

-r 倒序

-u 去重(去掉重复内容的行)

例子:sort -nr -t: -k1 /etc/passwd

 

uniq       -u 只显示不重复的行

-c 显示每行重复出现的次数

-d 只显示重复的行

##额外知识点##

dd if=/dev/zero of=/boot/bigfile bs=1M count=500     #创建指定大小的文件

inputfile           outputfile    blocksize    大小

 

~tab键  查看所有用户

 

openssl rand -bash64 100 #生成100位随机数

(超过100)

lsof | grep deleted  #查看进程占用的已经删除的文件(哪些文件被删除 还没有释放空间)

批量创建文件

touch 参数有数量限制

echo f{1..500000}|xargs touch

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/88615

(0)
oranixoranix
上一篇 2017-11-18 20:54
下一篇 2017-11-19 16:30

相关推荐

  • VIM 文 本 编 辑 工 具-20160808

    VIM 文 本 编 辑 工 具 §·学习大纲   一·使用vi和vim的三种主要模式 二·扩展模式下基本操作 三·命令模式下基本操作 四·编辑模式下基本操作 五·VIM寄存器 六·编辑二进制文件 七·可视化模式 八·多文件模式 九·使用多个“窗口” 十·定制vim的工作特性 十一·VIM了解更多 十二·练习题     §·使用v…

    Linux干货 2016-08-10
  • vim小结

    1. 简介 Vim(Vi[Improved])编辑器是功能强大的跨平台文本文件编辑工具,继承自Unix系统的Vi编辑器,支持Linux/Mac OS X/Windows系统,利用它可以建立、修改文本文件。进入Vim编辑程序,可以在终端输入下面的命令: $vim [filename] 其中filename是要编辑器的文件的路径名。如果文件不存在,它将…

    Linux干货 2016-08-12
  • LVM

    LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它由Heinz Mauelshagen在Linux 2.4内核上实现,目前最新版本为:稳定版1.0.5,开发版 1.1.0-rc2,以及LVM2开发版。Linux用户安装Linux操作系统时遇到的一个常见的难以决定的问题就是如何正确地…

    Linux干货 2016-12-17
  • 新手上路,多多担待,分享linux的ls 常用选项

    ls 命令   ls[OPTION]…[FILE]….选项 和 参数可有可无。 定义:显示指定路径下的文件列表。  -a: 全拼是all,所有的意思,ls  -a能显示出所有的文件,包括隐藏的。点开头和..开头的隐藏文件都能看见。  -l:后跟文件 可以查看文件的大小,和权限(一般用户都有读的权…

    2017-05-21
  • SElinux 管理

    SELinux: Secure Enhanced Linux(安全强化的linux) SElinux安全上下文是由五个元素组成的: ①User:指示登录系统的用户类型,如root,user_u,system_u,多数本地进程都属于自由(unconfined)进程 ②Role:定义文件,进程和用户的用途:文件:object_r,进程和用户:syste…

    Linux干货 2016-09-26
  • 正则表达式以及Linux文本搜索工具grep

    一正则表达式 regual Expression  简称REGEXP 定义:由一类特殊字符以及文本字所编写的模式,其中有些字符不表示其字面意义,而用于统配和统配功能 分类:     基本正则表达式:BRE 贪婪模式(尽可能长地去匹配符合模式的内容     扩展表达式:E…

    Linux干货 2016-08-07