Linux命令学习
1.创建:mkdir—创建目录mkdir 文件名 //创建单个目录mkdir -p newdir1/newdir2/newdir3 //递归创建多级目录mkdir dir1/dir2/newdir3 //在已存在的目录中创建目录mkdir -p dir1/newdir2/newdir3 //在已存在的目录中递归创建多级目录mkdir /home/zhangsan/movie //使用 相对于根目录
1.创建:mkdir —创建目录
mkdir 文件名 //创建单个目录
mkdir -p newdir1/newdir2/newdir3 //递归创建多级目录
mkdir dir1/dir2/newdir3 //在已存在的目录中创建目录
mkdir -p dir1/newdir2/newdir3 //在已存在的目录中递归创建多级目录
mkdir /home/zhangsan/movie //使用 相对于根目录的 ‘绝对路径’的方式创建目录
mv dir1 dir2 //dir1移动到dir2的目录下,结果:dir2/dir1
mv dir1/dir2 dir3 //dir2移动到dir3的目录下,结果:dir3/dir2
mv dir1/dir2 dir3/dir4 //dir2移动到dir4的目录下,结果:dir3/dir4/dir2
mv /home/zhangsan/movie /home/lisi/video //movie移动到video目录下,结果:/home/lisi/video/movie
mv dir1 newdir //dir1移动到当前目录下,并改名字为newdir
mv dir1/dir2 dir3 //dir2移动到dir3目录下,并改名为原名,结果:dir3/dir2
mv dir1/dir2 dir3/newdir //dir2移动到dir3目录下,并改名为newdir,结果:dir3/newdir
cp -R dir1 dir2 //dir1复制到dir2目录下,结果:dir2/dir1
cp -R dir1/dir2 dir3/newdir //dir2复制到dir3目录下,并改名为newdir,结果:dir3/newdir
cp -R dir1/dir2 newdir //dir2复制到当前目录下,并改名为newdir
cp dir1/file1 dir2 //file1复制到dir2目录下,结果:dir2/file1
cp dir1/file1 dir2/dir3/file2 //file1复制到dir3目录下,并改名为file2,结果:dir2/dir3/file2
[root@web_server01~/rivers]# ls
a1 b1 c1
[root@web_server01~/rivers]# rmdir a1 b1 c1
rm [filename] //删除文件
rm -r [dirname] //删除目录
rm -rf [filename] //强制删除文件
rm -rf [dirname] //递归强制删除目录
rm -rf / //递归强制删除”/斜杠”根目录(一旦删除,系统崩溃,慎用!!!)
$ ls 查看文件
$ ls / 根目录
[root@web_server01~]# cd /usr/local/
[root@web_server01/usr/local]# cd ..
[root@web_server01/usr]# cd ../../
[root@web_server01/]# cd --
[root@web_server01~]#
[root@web_server01~]# cd hbs/
#查看文件的内容:
[root@nginx-server~]# cat lan.txt
world
hello world
hello
#查看文件的内容,并显示行数编号:
[root@nginx-server~]# cat -n lan.txt
1 world
2 hello world
3 hello
[root@nginx-server~]#
#查看文件的内容,并输出到另外一个文件中:
[root@nginx-server~]# cat -n lan.txt > ndy.txt
[root@nginx-server~]# cat ndy.txt
1 world
2 hello world
3 hello
[root@nginx-server~]#
# 清空文件的内容:
[root@nginx-server~]# cat /dev/null > /root/ndy.txt
[root@nginx-server~]# cat ndy.txt
# 持续写入文件内容,碰到EOF符后结束并保存:
[root@nginx-server~]# cat > index.html <<EOF
> ni daye de
> EOF
[root@nginx-server~]#
# 命令行模式
命令模式-->插入模式
i --- 表示从光标所在位置进入编辑状态
I --- 表示将光标移动到一行的行首,再进入编辑状态
o --- 在光标所在行的下面,新起一行进行编辑
O --- 在光变所在行的上面,新起一行进行编辑
a --- 将光标移动到右边的下一个字符,进行编辑
A --- 将光标移动到一行的行尾,进入到编辑状态
C --- 将光标到行尾内容进行删除,并进入编辑状态
cc --- 将整行内容进行删除并进入编辑状态
大写字母G 将光标快速切换尾部
小写字母gg 将光标快速切换首部
ngg n表示移动到第几行
$ 将光标移动到一行的结尾
0/^ 将光标移动到一行的行首
# 末行模式
:wq --- 保存并退出
:w
:q
:wq!--- 强制保存退出
:q! --- 强制退出
# 快速删除命令
d$:表示删除当前光标所在位置到行尾的内容
d^:表示删除当前光标所在位置到第一个行首非空白字符位置的内容
dd:删除当前光标所在行整行
5dd:删除包括当前光标所在行在内的5行
%d: 表示全部删除
# 使用技巧
将一行内容进行删除(剪切) deletedelete=dd
将多行内容进行删除(剪切) 3dd
将内容进行粘贴 p
粘贴多次内容 3p
复制一行内容 yy
复制多行内容 3yy
操作错误如何还原 小写字母u undo
ctrl +v 选中想选的,然后shift+d 批量删除
ctrl +v 选中想选的,然后shift+i,输入# ,然后按2次esc 批量注释
ctrl +v 选中想选的,然后d ,批量取消注释。
# 创建空文件
[root@web_server01~]# touch lan.txt
# 批量创建文件
[root@web_server01~]# touch {1..2}.txt
# 修改访问时间
[root@web_server01~]# stat 1.txt # 查看访问时间
File: ‘1.txt’
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 803h/2051d Inode: 134398235 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2021-09-12 09:40:34.112793455 +0800
Modify: 2021-09-12 09:40:34.112793455 +0800
Change: 2021-09-12 09:40:34.112793455 +0800
Birth: -
[root@web_server01~]# touch -t 2003141314 1.txt # 修改访问时间,20年3月14日13:14分
[root@web_server01~]# stat 1.txt
File: ‘1.txt’
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 803h/2051d Inode: 134398235 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2020-03-14 13:14:00.000000000 +0800
Modify: 2020-03-14 13:14:00.000000000 +0800
Change: 2021-09-12 09:45:31.331419636 +0800
Birth: -
# -a 只更改访问时间;
# -m 只更改修改时间
[root@web_server01~]# echo -e "rivers01\nrivers02\nrivers03" > file1.txt
#显示文件shadow的最后10行:
[root@web_server01~]# tail /etc/shadow
#显示文件anaconda-ks.cfg 的内容,从第20行至文件末尾:
[root@web_server01~]# tail +20 anaconda-ks.cfg
#显示文件shadow的最后10个字符:
[root@web_server01~]# tail -c 10 /etc/shadow
862::::::
[root@web_server01~]#
#一直变化的文件总是显示后10行:(主要用于看日志)
[root@web_server01~]# tail -f /var/log/yum.log
#显示帮助信息:
[root@web_server01~]# tail --help
head命令 —显示文件开头内容
# 显示前3行文件内容:
[root@web_server01~]# head -n 3 /etc/shadow
# 显示文件名信息,并显示文件前两行:
[root@web_server01~]# head -v -n 2 lan.txt
==> lan.txt <==
i love you
1234151
[root@web_server01~]#
#显示文件前5个字符:
[root@web_server01~]# head -c 10 lan.txt
i love you
#浏览文字档案的内容,用less命令显示文件时,PageUp键向上翻页,PageDown键向下翻页,要退出less程序,应按Q键。
#查看文件 :
[root@web_server01~]# less anaconda-ks.cfg
分类:普通用户 超级用户(root)
Linux是多用户,多任务的分时操作系统,系统上每一个进程都有一个特定的文件,每一个文件都有特定的用户拥有。
Linux系统不能识别用户名信息,因此每个用户都有系统可识别的唯一标识UID
GID为用户所属的组ID,groups为用户所属于的所有组ID
查看当前用户信息
[XiaoXIao@localhost ~]$ id
uid=1000(XiaoXIao) gid=1000(XiaoXIao) 组=1000(XiaoXIao)
环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
查看文件信息
[XiaoXIao@localhost ~]$ ll /home
总用量 4
drwx------. 22 XiaoXIao XiaoXIao 4096 3月 31 23:43 XiaoXIao
查看进程信息
[XiaoXIao@localhost ~]$ ps aux |less
linux系统中所有用户的用户名和密码都存放在 /etc/password /etc/shadow这两个文件夹下
/etc/password文件中,一行记录对应一个用户,每行被:分隔为7个字段,依次为用户名,密码占位符,用户UID,主组GID,注释性描述,用户主目录,用户的shell在/etc/shadow
/etc/shadow文件中,每行记录也由冒号:分隔为9个字段,依次为用户名称,加密后的密码,最近改动密码的时间,密码不可变更时间,密码重新变更时间,密码过期时间,密码过期宽恕时间,
UID为0特权用户 UID 1-499为系统用户 UID500以上为普通用户
root用户拥有所有的系统权限
命令:
su 权限切换
[XiaoXIao@localhost ~]$ su root
密码:
输入密码终端不显示,但是输入了
创建用户
[root@localhost XiaoXIao]# useradd u01
注:普通用户无权创建用户
Linux下创建用户时,如果没有指定任何组,系统会默认给用户创建一个与用户名相同的组作为该用户的主组
查看用户
[root@localhost XiaoXIao]# id u01
uid=1001(u01) gid=1001(u01) 组=1001(u01)
创建组:
[root@localhost XiaoXIao]# groupadd hr
[root@localhost XiaoXIao]# groupadd fd
创建用户时指定组 -G代表指定附加组
[root@localhost XiaoXIao]# useradd u02 -G hr
[root@localhost XiaoXIao]# id u02
uid=1002(u02) gid=1004(u02) 组=1004(u02),1002(hr)
创建用户时指定组 -G代表指定附加组
[root@localhost XiaoXIao]# useradd u03 -G hr,fd
[root@localhost XiaoXIao]# id u03
uid=1003(u03) gid=1005(u03) 组=1005(u03),1002(hr),1003(fd)
查看尾部组信息
[root@localhost XiaoXIao]# tail /etc/group
stapusr:x:156:
stapsys:x:157:
stapdev:x:158:
tcpdump:x:72:
XiaoXIao:x:1000:XiaoXIao
u01:x:1001:
hr:x:1002:u02,u03
fd:x:1003:u03
u02:x:1004:
u03:x:1005:
GID从低到高排序,系统会自动依次增加赋值
删除用户
[root@localhost XiaoXIao]# userdel u03
[root@localhost XiaoXIao]# id u03
id: u03: no such user
删除用户的同时,删除/home目录与mail pool中该用户的内容
[root@localhost XiaoXIao]# ls /home
u01 u02 u03 XiaoXIao
[root@localhost XiaoXIao]# userdel -r u02
[root@localhost XiaoXIao]# ls /home/
u01 u03 XiaoXIao
删除已不存在的用户文件,手动删除
[root@localhost XiaoXIao]# rm -rf /home/u03
[root@localhost XiaoXIao]# ls /home
u01 XiaoXIao
删除组
[root@localhost XiaoXIao]# groupdel hr
注:如果某个用户正在使用该组,则无法删除
修改当前用户密码
[XiaoXIao@localhost ~]$ passwd
修改时需要提供当前密码,新的密码需要超过8位数字
更多推荐
所有评论(0)