首页 > 技术文章 > LINUX 文件/组/帮助/权限/文件压缩/管道

chenxuming 2018-08-27 00:33 原文

Linux文件/目录详解

常用文件路径的作用

/var/log/messages 系统类的日志文件
/var/log/secure 登录日志文件
/var/spool/cron 定时任务目录
/etc/fstab          硬盘挂载
/etc/profile     配置环境变量

在linux下文件颜色标识

文件操作

查找文件详解:

\

常用目录

 Linux命令格式与初始命令

命令格式:

命令格式
命令 -选项 
ls -a  /etc

命令别名
alias  别名 = echo ‘xiaoming’
Unalias取消定义的别名

初始命令:

[root@localhost log]# 
root:当前登录用户
localhose:主机名
log 所在目录
#:root超级用户提示符

通配符:

通配符
* 匹配多个所有字符
? 匹配一个字符

 

帮助命令

man 

man +一个命令 就可以查看该命令该怎么使用

--help 

Command --help/-h
  例如: tail -help
  Python -h
Python --help

用户相关

介绍

分组的作用主要是为了区分不同的组有不同的权限,比如web开发组有web开发的权限,能够修改什么文件都是严格规定好了

 Linux查找用户都是通过id来查找的,那么我们在输入id命令可以看到

 

UID是用户的id

GID

  • 是用户组id
  • 为初始组,账号建立时自动创建的

Groups:一组用户可以属于多个组,后续新增的放在groups里面

查看用户组

cat /etc/passwd查看用户信息 

可以看到这些都是我们的用户信息

 

 

Shell 执行命令的接口

cat /etc/group

增加用户

useradd [参数] [用户名]
-d 执行home 目录,登陆后默认
-g 指定gid
-G 指定所属组列表    

删除用户

Userdel  [参数] [用户名]
-r 删除用户时移除他的家目录和

修改用户属性

修改用户属性
usermod  [参数] [用户名]

-d 修改用户家目录

-g 修改用户gid
#usermod lufei -g dev4

-a -G 追加某个组到用户
Usermod -a -G web dev4 

修改用户密码

首先我们的密码是查不到的,因为我们在输入密码的时候会被linux系统加密

所以我们查到的是加密后的密码

那么新建了一个用户怎么设置密码呢?

passwd [user]

设置让某个用户不能登录

vi /etc/passwd

设置成sbin/nologin 那么这个用户就不能登录了

 

Su和sudo使用(swich user)

su的使用

Su:让你从一个登录的用户切到另一个指定的用户

  • 1.当你从超级用户管理员切换到普通用户不需要密码
  • 2.反过来需要知道root的密码
  • 3.su dev su -dev的区别
    • -dev能够切换到家目录
    • dev 你在什么目录就切换到什么目录

sudo

1.权限配置文件 cat /etc/sudoers参数解析
Root               ALL=(ALL)        ALL
用户或者组          那个用户        命令权限

%wheel            ALL(ALL)          ALL
指定组

2.编辑sudo配置文件
Vi/etc/sudoers 修改后需要强制保存

3.查看当前用户允许执行的命令
Sudo -l

习题

1.useradd dev -G wheel
2.id dev
3.passwd dev

4.useradd www

vi /etc/passwd

 

:wq保存  :wq!强制保存

5.su dev

6.vi /etc/sudoers

强制保存

Wheel组注释就可以使用

7.sudo cat /var/log/message
8.userdel -r dev 
如果用户正在运行,把终端关闭.重新删除
9.ls /var/log/secure

 

权限

 文件权限

ls-l

 

 

 目录权限

文件压缩

windows下压缩只压缩成zip.因为linux不支持rar

 

gzip file 压缩
gizp -d file.gz 解压
打包:
tar -cf [包名字][要打包的内容]
tar -tf [包名字] 查看内容
压缩包:
tar -zcf [包名字] [要打包的内容]

 

重定向与管道

重定向

 

指定错误输出
[root@localhost ~]# fjdaklfjaklfj 2>error.log  
[root@localhost ~]# cat error.log
 Echo ‘python’ >>std.log 两个>>是追加的意思(默认不写是1>>std.log)
>/dev/null 不占空间不占磁盘

管道

 

磁盘/分区/cpu/内存/网络常用命令

 常用

核心:
df -h 查看磁盘
free -m 查看内存 swap 有数据说明内存不足
uptime 查看系统开机时间and负载 一分钟之内的负载,5分钟,15分钟
curl www.baidu.com 获取百度网站信息(不解析)默认是get请求
curl -d ‘数据’ xxxxx post请求

 课后习题

答案::

1.cd /     ls -l >/tmp/ls.txt
2.Mkdir /data --->chmod 700 /data
3. Ln -s  /var/log  /data/log
4. > /var/log/messages 清空文件
5.cp /etc/yum.repos.d/CentOS-Base.repo(源文件) ~/(目标文件)yum.bak(设置新的名字)
7 rm -rf /tmp/*     cp /etc/*.conf /tmp/
8 tar -cvf conf.tar  /tmp/* 
9 chown deploy.deploy conf.tar
10find / -mtime 0 >/data/rst.txt 
这是错误的,这只是将名字保存到rst.txt
find / -mtime 0 -exec cp {} /data/ \; 正确

 

推荐阅读