Linux学习

压缩与解压

xxx.tar.gz  

// 将d1、d2文件夹和一个文件 打包压缩为 xxx.tar.gz 
tar -czvf  xxx.tar.gz  ./d1 ./d2 ./test.java
// 将 xxx.tar.gz 解压到当前文件夹
tar -xzvf  xxx.tar.gz
// 将 xxx.tar.gz 解压到指定的文件夹
tar -xzvf  xxx.tar.gz  -C  /home

/*
说明:
 -c 是表示打包为.tar包
 -x 是表示解包 tar 包
 -z 是表示打包的同时压缩为 .gz (gzip)
          或 解包的同时解压 gz
 -f 是表示指定压缩后的文件名
 -v 是表示显示详细信息
*/

 

 

 

 

常见的

  • 复制文件
    cp myfile myfile.copy      将文件 myfile 复制到当前目录下的 myfile.copy 文件 (若没有新建,有则覆盖)
    cat myfile > myfile.copy     作用同上   cat file1 file2 > file  将file1 和 file2 文件复制到 file 文件尾部(若没有新建,有则覆盖),顺序:file1的内容 + file2 的内容
    cat myfile >> myfile.copy      若无则新建,若有则尾部添加  cat file1 file2 >> file  将file1 和 file2 文件追加到 file 文件尾部
  • 新建文件 
    vi myfile
  • 删除文件 rm(remove)
    rm myfile
  • 新建目录
    mkdir mydir
  • 删除空的目录
    rmdir mydir
  • 删除目录下的所有内容(慎用,无回收站)
    rm -r mydir
  • 显示当前目录
    pwd(print working directory)
  • 改变目录
    cd ......
  • 列出mydir目录下的内容(包括子目录、文件)
    ls [-p] mydir     加上-p,列出的子目录的文件名后加斜杠/
    ls -al  mydir    显示所有,并以详细信息显示

 

组管理

在Linux中的每个用户必须属于一个组,不能独立于组外。每个文件都有所有者、所在组、其他组的概念。

文件或目录的所有者(拥有者)一般都是创建者。

 

创建组

groupadd 组名
例如:
groupadd fruit
useradd -g fruit apple

删除组

groupdel 组名

查看所在组

ls -alh
当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组(默认)

修改所在组

chgrp 组名 文件名

  • 添加用户并指定所在组

useradd -g 组名 用户名

  • 改变用户的所在组

usermod -g 新组名 用户名

权限的基本介绍

[root@localhost ~]# ls -ahl
total 28K
dr-xr-x---. 2 root root 135 Dec 16 02:34 .
dr-xr-xr-x. 17 root root 224 Dec 14 01:38 ..
-rw-------. 1 root root 1.3K Dec 14 01:38 anaconda-ks.cfg
-rw-------. 1 root root 1.2K Dec 16 02:34 .bash_history
-rw-r--r--. 1 root root 18 Dec 28 2013 .bash_logout
-rw-r--r--. 1 root root 176 Dec 28 2013 .bash_profile

 

/* 说明:
从上面可以看到,每一行都有7列,分别是:

第一列共10位,第1位表示文档类型,d表示目录,-表示文件,l表示链接文件,c是字符设备文件(鼠标、键盘),b是块设备(比如硬盘)。后9位,依次对应三种身份所拥有的权限,身份顺序为:拥有者owner、所在组group、其他others,权限顺序为:readable、writable、excutable。r 读 w 写 x 执行 - 没有授予相应的许可权。如:-r-xr-x---的含义为当前文档是一个文件,拥有者可读、可执行,同一个群组下的用户,可读、可执行,其他人没有任何权限。
第二列表示链接数,表示有多少个文件链接到inode号码。
第三列表示拥有者
第四列表示所属群组
第五列表示文档容量大小,单位字节
第六列表示文档最后修改时间,注意不是文档的创建时间哦
第七列表示文档名称。以点(.)开头的是隐藏文档
*/

修改权限 chmod

  • 第一种方式:+、-、=

u:拥有者,g:所在组,o:其他人,a:所有人(包括u,g,o)
chmod u=rwx,g=rx,o= 123.txt
注:o=空 表示没有任何权限
chmod u+x 123.txt 给拥有者添加可执行权限
chmod u-x,g+w 123.txt 给拥有者减去可执行权限,给所在组加上可写权限

  • 第二种方式:通过数字变更权限

r=4 w=2 x=1 rwx=4+2+1=7
chmod u=rwx,g=rx,o= 123.txt
相当于
chmod 750 123.txt

修改文件拥有者 chown

chown 用户名 文件名/目录
chown -R 用户名 目录 #目录下的所有文件和目录的拥有者都修改为某一用户

修改文件或目录所在组 chgrp

chgrp newgroup 文件名/目录

 

 

用户管理

添加用户

useradd 用户名
useradd -d 指定目录 用户名 #创建的用户同时指定家目录,默认是在/home/用户名
useradd -g 指定组 用户名 #创建的用户同时指定用户所在组
usermod -g 组名 用户名 #修改用户的组

指定/修改密码

passwd 用户名

查询用户信息

id 用户名

删除用户

userdel 用户名 #删除用户,保留家目录
userdel -r 用户名 #删除用户,也删除家目录

切换用户

su - 用户名
例如: su - root #切换为root用户
当需要返回原来用户时,可以使用 exit、logout 指令。

查看当前用户

whoami
who am i

用户和组相关的文件

  • /etc/passwd 文件

用户的配置文件,记录用户的各种信息。
每行的含义:
用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell

 

 

  • /etc/shadow 文件

口令的配置文件
每行的含义:
登录名:加密口令:最后一次修改时间:最小时间间隔:警告时间:不活动时间:失效时间:标志

  • /etc/group 文件

组的配置文件
每行的含义:
组名:口令:组标识号:组内用户列表

 

 

 

 


vi 编辑器的用法

  • vi myfirst     新建文件
  • 进入vi后,为命令模式,按键盘 i 进入插入模式可以编辑文本,按Esc返回命令模式下,按 :wq 表示保存文件并退出。
  • vi -R myfirst   以只读的方式打开文件myfirst    或者 view myfirst  这种情况下修改文本,需要使用 :w! 或 :wq! 来保存文件。
  • vi file1 file2    启动vi 编辑多个文件。这种情况下, :ar  显示所有文件名,且当前文件名用 [ ] 括起来,:n 显示下一个文件
  • 命令模式下
:e myfile       编辑另一个文件
:r myfile       把myfile文件的内容引入当前编辑的文件中,插入在光标行后
:1,5 w temp     把当前编辑器中的第1 - 5行写入temp文件。若temp文件不存在,新建temp;若存在,要使用 w! 覆盖已存在的文件,或改文件名。
dd    剪切当前行的内容到缓冲区。 移动光标,然后输入  p  就在当前行的下面粘贴了缓冲区的内容了。P 是在当前行的上面粘贴。
yy    复制当前行的内容到缓冲区。然后 p / P 粘贴。
2dd  剪切当前行开始的2行内容
按 u 撤销最近的文本修改。
d$    删除从光标到当前行尾的文本
d0    删除从光标到当前行首的文本
dw    删除光标位置后的一个word 和空白符(光标在一个word的中间会删除【从光标开始到第一个空白】的内容,若光标在一个空格上,则只删除空格)
3dw  删除光标位置后的3个word 和 空白 (dw 一般将光标放在一个word的首字母使用)
w      光标移动到下一个word
y$    复制光标到行尾的内容到缓冲区。然后 p / P
y0    复制光标到行首的内容到缓冲区。
:set number   显示行号    :set nu
:set autoindent  新行与前一行自动对齐   或   :set ai
:set ignorecase  vi执行搜素时不区分大小写(默认查找是区分大小写的)  或 :set ic        在命令模式下 /unix  就是搜索unix,光标停在第一个unix的首字母上。
当用户退出vi编辑器后,这些设置作废。
-------------
自定义缩写
:ab uno UNIX Operation System
在insert模式下,输入uno加空格,就会自动变为 UNIX Operation System
:ab     列出已设置的缩写
:unab uno     取消uno的缩写
宏操作符(map)
:map q 5dd    那么在insert模式下,按q 就等于 按 5dd,删除5行
:unmap q 5dd   取消
:map      查看
只有少数的键没被使用为命令,可以用来指定,像K、q、V、[Ctrl - e] 、 [Ctrl - x]
也可以指定功能键
:map #2 5dd     将 5dd 指定给 [F2] 键
posted @ 2019-05-05 22:22  htj10  阅读(192)  评论(0编辑  收藏  举报
TOP