liunx的基础命令-03

来源:互联网 发布:golang syscall.exec 编辑:程序博客网 时间:2024/05/11 21:07

1.新建用户

adduser xxx# 创建一个用户,必须su root是root用户

#创建一个用户 adduser  javaroot@doublechina:/home# adduser javaAdding user `java' ...Adding new group `java' (1001) ...Adding new user `java' (1001) with group `java' ...Creating home directory `/home/java' ...Copying files from `/etc/skel' ...Enter new UNIX password:   #密码Retype new UNIX password:   #确定密码passwd: password updated successfullyChanging the user information for javaEnter the new value, or press ENTER for the default    Full Name []: #可以不填    Room Number []: #可以不填    Work Phone []: #可以不填    Home Phone []: #可以不填    Other []: #可以不填chfn: name with non-ASCII characters:''#成功添加了用户javaroot@doublechina:/home# ls doublechina  java

查看用户是否新建
cat /etc/passwd

#查看用户root@doublechina:/home# cat /etc/passwd....doublechina:x:1000:1000:doublechina,,,:/home/doublechina:/bin/bashmysql:x:111:117:MySQL Server,,,:/nonexistent:/bin/false#新增的用户javajava:x:1001:100,,,:/home/java:/bin/bash

为创建的普通用户添加sudo权限
新创建的用户,默认不能sudo,需要进行一下操作
sudo usermod -a -G sudo 用户名

root@doublechina:/home# su java#无sudo权限java@doublechina:/home$ sudo find /[sudo] password for java: java is not in the sudoers file.  This incident will be reported.#赋予java 提取root权限root@doublechina:/home/doublechina# sudo usermod -a -G sudo java

2. 删除用户

  • userdel xxx 不删除家目录
  • userdel -r xxx 同时删除用户家目录
#只是删除用户root@doublechina:/home# su javaNo passwd entry for user 'java'root@doublechina:/home# lsdoublechina  java  python#删除用户同时删除home目录root@doublechina:/home# userdel -r  pythonuserdel: python mail spool (/var/mail/python) not foundroot@doublechina:/home# lsdoublechina  java

3. 文件权限

-rwx-rwx-rwx # 第一个代表文件类型# 代表所有者的权限 # 代表所属组的权限# 代表其他人的权限

4. 改变权限 - chmod

r 读取权限  如果没有r, 就不能 ls 查看里面的内容  对应数字 4w 写权限    如果没有w, 就不能在目录下创建新的文件  对应数字 2x 执行权限  如果没有x,就不能cd进入这个目录 对应数字 1- 没权限      对应数字 0chmod 777 filename  #给所有的用户开放所有的权限 777对应三个角色的权限rwx-rwx-rwx    
#查看文件doublechina@doublechina:~$ ll-rw-rw-r-- 1 doublechina doublechina    0 Dec  6 16:21 1.txt-            rw-                rw-            r--第一个代表文件类型第二个所有者的权限第三个是所属组的权限第四个是其他人的权限r  看 ,对应的数字 4w 写改,对应的数字 2x  执行 对应的数字1- 没有权限 对应数字 0doublechina  doublechina第一个doublechina表示当前用户第二个doublechina表示组#给所有的用户开发权限doublechina@doublechina:~$ chmod 777 1.txt-rwxrwxrwx 1 doublechina doublechina    0 Dec  6 16:21 1.txt*#777 第一个 7=4+2+1  第二个 7=4+2+1  第三个 7=4+2+1 

5. 打包 tar

Linux中打包就是使用tar命令 命令有点特殊 前面的参数 可加可不加 -

打包
tar -cvf 文件名.tar 要打包的文件

doublechina@doublechina:~$ tree.├── 1.txt├── 2.txt└── ee    └── ff2 directories, 2 files#打包所有txt文件doublechina@doublechina:~$ tar -cvf test.tar *txt1.txt2.txtdoublechina@doublechina:~$ tree.├── 1.txt├── 2.txt├── ee│  └── ff└── test.tar

解包
tar -xvf 文件名.tar -C 指定目录

#解包doublechina@doublechina:~$ tar -xvf test.tar  1.txt2.txtdoublechina@doublechina:~$ ls1.txt  2.txt  ee  test.tar#解包到指定目录doublechina@doublechina:~$ tar -xvf test.tar -C ee 1.txt2.txt

查看包里的内容
tar -tvf 包的文件名.tar

#查看打包的文件doublechina@doublechina:~$ tar -tvf test.tar -rwxrwxrwx doublechina/doublechina 0 2017-12-06 16:21 1.txt-rw-rw-r-- doublechina/doublechina 0 2017-12-06 16:21 2.txt

6. gz格式

或者说配合 tar 则是

  • tar -zcvf xxx.tar.gz 文件 # 压缩
doublechina@doublechina:~$ tar -zcvf  test2.tar.gz *txt 1.txt2.txtdoublechina@doublechina:~$ ls1.txt  2.txt  ee  test2.tar.gz  test.tar
  • tar -zxvf xxx.tar.gz 文件 # 解压
  • tar -zxvf xxx.tar.gz -C dirname# 解压到指定目录
#解压到f目录下面doublechina@doublechina:~$ tar -zxvf test2.tar.gz -C f1.txt2.txtdoublechina@doublechina:~$ 

7. bz2格式

tar -jcvf  xxx.tar.bz2  文件  # 压缩tar -jxvf  xxx.tar.bz2      # 解压
doublechina@doublechina:~$ ls1.txt  2.txt  ee  f  g#打包doublechina@doublechina:~$ tar -jcvf test.tar.bz2 *txt1.txt2.txtdoublechina@doublechina:~$ ls1.txt  2.txt  ee  f  g  test.tar.bz2#解包到g目录下面doublechina@doublechina:~$ tar -jxvf test.tar.bz2  -C g1.txt2.txt

8. zip格式

通过zip 压缩的话 不需要指定拓展名 默认拓展名为 zip

sudo apt-get install zip

#压缩文件    zip  压缩文件  源文件doublechina@doublechina:~$ ls1.txt  2.txt  a  b  cdoublechina@doublechina:~$ zip  test.zip *txt  adding: 1.txt (stored 0%)  adding: 2.txt (stored 0%)doublechina@doublechina:~$ ls1.txt  2.txt  a  b  c  test.zip#解压     unzip  压缩文件-d 解压到指定目录  如果目录不存在 会自动创建新目录 并压缩进去unzip test.zip -d bdoublechina@doublechina:~$ unzip test.zip -d ffArchive:  test.zipextracting: ff/1.txt                extracting: ff/2.txt                doublechina@doublechina:~$ ls1.txt  2.txt  a  b  c  ff  test.zip

9. 进程

ps aux 查看进程

查看所有进程 : ps aux

#查看进程doublechina@doublechina:~$ ps auxUSER      PID %CPU %MEM    VSZ  RSS TTY      STAT START  TIME COMMANDPID进程编号%CPU  占用CPU%MEM 内存占有COMMAND  那个命令占用了该进程ID

top 动态查看进程

查看所有进程 : top

doublechina@doublechina:~$ top 

top命令用来动态显示运行中的进程
top命令能够在运行后 ,在指定的时间间隔更新显示信息
使用top命令时加上-d, 来指定显示信息更新的时间间隔

#1秒内刷新一次进程,系统默认是3秒doublechina@doublechina:~$ top -d 1

jobs 查看所有在后台的进程

制造一个进程

doublechina@doublechina:~$ sudo find /

ctrl+Z   暂停当前进程 
比如你正运行一个命令,想暂停一下,就可以使用这个快捷键 
暂停后,可以使用fg 恢复它

查看后台进程

doublechina@doublechina:~$ jobs
[1]+ Stopped sudo find /

####`kill`      杀死一个进程

kill -9 id号 强制杀死

#切勿随便测试 doublechina@doublechina:~$ kill -9 1

ps -aux
查看正在内存中的程序
会配合 管道符
ps aux | grep ssh/python

#配合管道使用doublechina@doublechina:~$ ps aux | grep findroot      1965  0.0  0.3  6964  3752 pts/0    T    21:31  0:00 sudo fin /root      1966  0.6  0.2  5668  2876 pts/0    T    21:31  0:02 find /doublec+  1993  0.0  0.0  5100  864 pts/0    S+  21:39  0:00 grep --color=auto find#主要需要kill  1965进程iddoublechina@doublechina:~$ sudo kill -9 1965[1]+  Killed                  sudo find /doublechina@doublechina:~$ jobs

ctrl z 暂停 。 fg 继续