Linux命令学习

1.创建:mkdir —创建目录

mkdir 文件名 //创建单个目录


mkdir -p newdir1/newdir2/newdir3 //递归创建多级目录


mkdir dir1/dir2/newdir3 //在已存在的目录中创建目录


mkdir -p dir1/newdir2/newdir3 //在已存在的目录中递归创建多级目录


mkdir /home/zhangsan/movie //使用 相对于根目录的 ‘绝对路径’的方式创建目录

总结:新目录的层次大于1时,就需要-p参数

2.移动 mv 命令 — 移动或改名文件

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

3.改名 mv 命令 — 移动或改名文件

mv dir1 newdir //dir1移动到当前目录下,并改名字为newdir


mv dir1/dir2 dir3 //dir2移动到dir3目录下,并改名为原名,结果:dir3/dir2


mv dir1/dir2 dir3/newdir //dir2移动到dir3目录下,并改名为newdir,结果:dir3/newdir

4.复制 cp 命令—复制文件或目录

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

总结:复制目录需要加-r

rmdir 命令 — 删除空目录

[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  查看文件

$ ls /   根目录

 cd 命令 —切换目录命令

[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/

 cat 命令 —显示文件内容

#查看文件的内容:

[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~]#

vi/vim 命令 —修改配置文件

# 命令行模式

命令模式-->插入模式

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 ,批量取消注释。

 touch 命令 --创建文件、修改访问时间

# 创建空文件

[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  只更改修改时间

 echo 命令 —输出命令

“>” 覆盖

“>>” 追加

 [root@web_server01~]# echo -e "rivers01\nrivers02\nrivers03" > file1.txt

 tail 命令 —查看文件尾部内容

#显示文件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命令 — 分页显示内容

#浏览文字档案的内容,用less命令显示文件时,PageUp键向上翻页,PageDown键向下翻页,要退出less程序,应按Q键。

#查看文件 :

[root@web_server01~]# less anaconda-ks.cfg

Linux

分类:普通用户  超级用户(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位数字

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值