美文网首页
Linux基础

Linux基础

作者: 蒙伟 | 来源:发表于2018-07-04 01:58 被阅读0次

用户操作

whoami           >>查看当前用户
$                >>普通用户
#                >>管理员
su root或su      >>切换到管理员用户,需要管理员密码
useradd 新用户名  >>创建一个账户,要在root上操作
passwd 新用户名   >>为账户设置密码,要在root上操作
例子:useradd -u 3000 -g root -G test01,test02 lewis
创建lewis用户,它的uid为3000,属于root组,附属组为test01、test02
useradd
-u:设置UID
-g:设置主要组
-G:设置要附属组
-c:设置用户说明
-d:指定用户家目录
-s:指定用户shell
-e:账号失效日期,格式为:YYYY-MM-DD
useradd -e 2020-01-01 test08
-f:指定密码是否失效,0表示立刻失效,1表示永不失效
useradd -f 0 test11
usermod可以对用户账户的信息进行细微的修改
-c:账号说明
-d:修改家目录
-g:修改主要组
-G:修改附属组
-a:与-G一起用,增加附属组
-l:修改用户名
-u:修改UID
-L:冻结账号
-U:解冻
passwd 用户名 //所有人都可以通过该命令来修改自己的密码
-l:锁住该账号,在/etc/shadow中放密码的位置加个!
-u:解锁
-S:显示账号的密码参数
-n:接天数,设置多久可以不修改密码
-x:接天数,设置多久内必须修改密码
-w:接天数,设置密码过期前警告天数
-i:接天数,设置密码失效天数

chage 可以修改和密码有关的时间参数
-l:查看一个账户和密码有关的时间参数
-d:YYYY-MM-DD,修改最近一次更改密码的时间
-E: YYYY-MM-DD,修改账号的失效时间
-I:天数,设置密码几天后失效
-m:天数,设置密码至少保留几天
-M:天数,设置密码多久后,需要更新
-W:天数,设置密码过期前警告时间
举例1:
创建一个账号test01,初始密码为123,用户登入后必须修改密码,然后强制使用新的密码登入
chage –d 0 test01 (-d中特殊的用法)
新密码必须符合复杂度的规范

举例2:
修改root账号最近一次改密码的时间为2000年1月1号,必须要求root账号在100天后必须修改密码。
chage -d 2000-1-1 -M 100 root

删除一个用户-userdel
要彻底的删除一个账号,比较麻烦
会自动删除:
1、删除/etc/passwd;/etc/shadow文件中的内容
2、删除/etc/group;/etc/gshadow
需手动删除:
1、删除/home/username;
邮箱目录:/var/spool/mail/username
2、删除该用户曾经来该Liunx中创建的文件find进行搜索,先搜索,在使用userdel
-r   连同家目录和邮箱一起删除
删除mengwei1账户:userdel -r mengwei1

文件路径操作

pwd         >>查看当前所在路径
ls -a -l 
或 ls -al 
或 ls -l /dev>>查看当前目录下的文件信息
-d          >>只看当前信息
-l          >>看详细信息
-a          >>显示所有(.表示隐藏文件,表示很重要)
-h          >>显示文件大小
(-rw-rw-r--)
(drw-rw-r--)
文件类型:
d           >>目录
-           >>文件
l           >>软连接文件
b           >>设备文件,存储的接口设备
c           >>设备文件--键盘


cd /        >>进入根目录
cd /目录     >>进入目录,绝对路径
cd 目录      >>进入目录,相对路径
cd -        >>返回之前的目录
cd ..       >>返回到上一级目录
cd ~        >>返回到所在的家目录

复制cp、移动mv、删除rm、创建文件mkdir\touch

cd /
cd tmp 在tmp目录下操作

mkdir 目录 或 mkdir 目录/abc>>创建目录(创建abc目录时,根目录必须存在否则报错)
mkdir -p 目录/目录          >>递归式创建目录,注意文件夹名字千万不要出错
touch 文件名               >>创建文件
cp abc a                  >>复制abc文件命名为a
cp a abc lewis1/          >>复制 a、abc文件到lewis1目录
cp -r lewis lewis-cp      >>复制lewis目录为lewis-cp名称(递归复制)
mv a ab                 >>重命名a改为ab
mv a目录 ab目录           >>ab不存在就是重命名,存在时a目录移动到ab目录
mv a目录 ab目录 abc目录   >>a、ab目录移动到abc目录
mv a ab lewis2/         >>移动a、ab文件到lewis2目录中
rm a 或 rm a abc         >>删除a abc文件(root用户文件删除时都会有询问:y)
rm -f a                 >>强制删除文件,没有询问
rm -f -r /tmp/*         >>无询问删除tmp目录下所有文件(-r删除目录)

查看文件

cat/less/more   查看文件
例子:cat -b etc/passwd  >>查看etc目录下的passwd文件内容
例子:more -b etc/passwd
例子:less -b etc/passwd
        -A  整合命令-vET
        -b  列出行号,但是空白行不标志行号
        -E  将结尾的断行字符($)显示出来
        -n  列出行号,空白行也会标志行号
        -T  将tab按键以^I显示
        -v  列出一些看不来的特殊字符
    more(一页一页翻动)
        空格  向下翻一页
        回车  向下翻一行
        /字符串:   所搜
        :f  立刻显示文件名和行数
        b   翻到第一页
        q   离开
    less(一页一页翻动)
        空格  向下翻动一页
        pagedown向下翻动一页
        pageup  向上翻动一页
        /字符串    搜索
        n   重复前一个搜索
        N   反方向重复前一个搜索
        q   退出  
nl  查看文件,显示时,出现行号
        -b
        -ba 无论是否有空行,都列出行号
        -bt 如果有空行,则不列出行号(默认)
        -n
        -nln    行号在屏幕最左方
        -nrn    行号在屏幕最右方,前面不加0
        -nrz    行号在屏幕最右方,前面加0
        -w  设置缩进
tac 从最后一行开始显示
head    默认显示前10行 -n:设置行数
例子:head -5 etc/passwd
tail    默认显示尾10行 -n:设置行数(一般看日志文件时使用)
wc  显示文件的行数,数字,字节
        -c  只显示字节
        -w  只显示字数。一个字被定义为由空白、空格或换行字符分隔的字符串。
        -l  只显示行


vim编辑器使用:
vim /tmp/abc    编辑abc文件
i   键插入
esc 退出
u   撤销
x   删除

v   选择文本
y   复制
yy  复制当前行
dd  删除光标所在行
p   粘贴

:w  保存
:wq 保存退出
:q! 强退(不保存直接退出)

gedit使用(Linux自带似Windows记事本):
gedit /tmp/abc 

软硬链接

软链接(类似windows下的快捷方式)
创建软连接
ln –s oldfile newfile
例子:ln -s abc a  >>a是abc的软链接
特点:
1.可以对不存在文件创建软链接
2.可以对文件或者目录创建软链接
3.删除了软链接,不会影响他的指向文件
4.删除了指向文件,该软链接就会变成死链接(红色,touch创建文件后又恢复正常)

硬链接
创建硬链接
link oldfile newfile 
ln oldfile newfile 
例:link a lewis   >>a与lewis硬连接,它们是相同的文件。

Inode编号:
    查看命令:ls -l -i
Inode编号的作用:
    文件名:给人看的
    Inode编号:给机器看的
硬链接:多个文件对应同一个inode编号
对多个文件中的某一个文件进行修改时,其他文件也会同时发生更改。多用户协同一致工作。
特点:
1、不能对目录进行硬链接的创建
2、只能对已经存在的文件进行硬链接的创建
3、删除一个硬链接文件,不影响其他相同的inode编号的文件

关机

要注意的事项:
    观察系统的使用状态
    通知在线使用者关机的时间
    正确的关机指令使用
    关机的指令
        数据同步写入磁盘:sync
        常用的关机指令:shutdown
        重启,关机:reboot,halt,poweroff
Shutdown
    -t 添加秒数,几秒后关机
    -k 不是真关机,而是发出告警信息
    -r 在系统服务都停止后,重启
    -h 在系统服务都停止后,关机(常用)
    -f 关闭并且开机以后,强行略过磁盘检查(硬盘出现坏道的情况使用)
    -F 重启后,强制进行进行磁盘检查
    -c 取消已经在进行的shutdown指令内容
常用关机例子:
    shutdown –h now     马上关机
    shutdown –h 12:00   12点后关机
    shutdown –h +10     十分钟以后关机
    shutdown –r now     马上重启
    shutdown –r +30 ‘the system will reboot’    发出警告30分钟后重启
    shutdown –k now ‘this system will reboot’   马上发出警告信息,但是不会重启

帮助文件

man ls
man 1 ls
man 5 ls

文件权限

文件:rwx:读、写、执行
目录:rwx:查看目录下有哪些文件、新建删除移动等、是否可以使用cd进入
cat /etc/group          >>查看所有组
groups                  >>查看当前组
gpasswd -a 用户名 组名    >>将用户添加到组


chown:修改文件的拥有者,前提是要有该拥有者(root权限)
chown 拥有者 文件/目录
例子:chown mengwei1 abc   >>把abc的拥有者改为mengwei1
-R 递归修改
chown -R mengwei1 目录    >>把目录和目录下文件的拥有者都改为mengwei1

chgrp:修改文件所属组,前提是要有该组
例子:chgrp mengwei1 abc   >>把abc文件的拥有组改为mengwei1
-R 递归修改

chmod:修改拥有者和所属组的权限
加减法:u/g/o   +/-/=   r/w/x
数字法:r=4,w=2,x=1
  rwx=4+2+1=7
  rw-=4+2=6
  r--=4
  r-x=4+1=5
例子:chmod 777 123    >>修改123文件的权限为-rwxrwxrwx

注意:
文件的拥有者,即使没有w权限,也可以强制写入,所属组和其他人不行。
如果一个用户对一个目录没有w的权限,是否可以编辑该目录中拥有者是自己的文件?可以编辑!
文件权限-getfacl和setfacl
acl:针对单一使用者,设置单一文件或目录来进行rwx的权限修改
getfacl:获取单一使用者,针对单一文件或目录的权限
setfacl:配置单一使用者,对单一文件或目录的权限
-m 配置acl参数
-x 删除单个文件的acl
-b 删除acl的配置
-R 递归配置acl参数
例子:setfacl -m u:lewis:rwx 123       >>root将123文件的拥有者权限赋值给lewis
例子:setfacl -m g:lewis:rwx 123       >>root将123文件的拥有者权限赋值给lewis
例子:getfacl 123  >>获取单一文件的权限


默认权限
umask  >>查看当前用户的umask权限;    -S 选项
0022---拿走的权限
第一个数字表示特殊权限
022=rwxr-xr-x
0002=rw-rw-r--  >>拿掉了最后一个2=w

默认创建文件和目录的权限,文件会拿走X权限

临时的修改:umask 0000  
文件:-rw-rw-rw-
目录:drwxrwxrwx
永久修改: /etc/bashrc(不建议)
假设你的 umask 为 003 ,请问该 umask 情況下,建立的文件和目录的权限分为多少?
答:umask 为 003 ,所以拿掉的权限为 --------wx,因此:文件: (-rw-rw-rw-) - (--------wx) = -rw-rw-r--目录: (drwxrwxrwx) - (d-------wx) = drwxrwxr--

普通用户:002
Root:022
在什么情况下,要使用umask
假设你和的同事在同一个目录下进行同一个项目的工作。如果使用默认权限022,那么你创建的文件,你的同事将无法编辑。因此我们可以将权限调整为002

SUID\SGID\SBIT
当s出现在拥有者的x权限位置时候,表示拥有者有SUID的权限(Set UID)
当s出现在所属组的x权限位置时候,表示所属组有SGID的权限(Set GID)
当t出现在其他人的x权限位置时候,表示其他人有SBIT的权限(Sticky Bit)

SUID4的文件:临时获取文件拥有者的权限—只能针对文件
SGID2,即使可以作用于目录,也可以作用于文件
              作用于文件:SUID一样
              作用于目录:继承父集目录—目录会不停的继承
SBIT1的目录:只有文件的拥有者,才能删除属于他的文件。
S和T都有大写和小写之分
大写说明:没有x权限
id  >>查看UID GID

/etc/passwd :记录了Linux上所有的账号
/etc/shadow:记录了账户对应的密码
/etc/group:记录了所有的组


待续。。。

相关文章

网友评论

      本文标题:Linux基础

      本文链接:https://www.haomeiwen.com/subject/luysuftx.html