liunx的基础命令-03

liunx基础命令

1.新建用户

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

#创建一个用户 adduser  java
root@doublechina:/home# adduser java
Adding 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 successfully
Changing the user information for java
Enter the new value, or press ENTER for the default
    Full Name []: #可以不填
    Room Number []: #可以不填
    Work Phone []: #可以不填
    Home Phone []: #可以不填
    Other []: #可以不填
chfn: name with non-ASCII characters:''
#成功添加了用户java
root@doublechina:/home# ls 
doublechina  java

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

#查看用户
root@doublechina:/home# cat /etc/passwd
....
doublechina:x:1000:1000:doublechina,,,:/home/doublechina:/bin/bash
mysql:x:111:117:MySQL Server,,,:/nonexistent:/bin/false
#新增的用户java
java: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 java
No passwd entry for user 'java'
root@doublechina:/home# ls
doublechina  java  python


#删除用户同时删除home目录
root@doublechina:/home# userdel -r  python
userdel: python mail spool (/var/mail/python) not found
root@doublechina:/home# ls
doublechina  java


3. 文件权限

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

4. 改变权限 - chmod

r 读取权限  如果没有r, 就不能 ls 查看里面的内容  对应数字 4
w 写权限    如果没有w, 就不能在目录下创建新的文件  对应数字 2
x 执行权限  如果没有x,就不能cd进入这个目录 对应数字 1
- 没权限      对应数字 0

chmod 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  看 ,对应的数字 4
w 写改,对应的数字 2
x  执行 对应的数字1
- 没有权限 对应数字 0

doublechina  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
    └── ff

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

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

#解包
doublechina@doublechina:~$ tar -xvf test.tar  
1.txt
2.txt
doublechina@doublechina:~$ ls
1.txt  2.txt  ee  test.tar

#解包到指定目录
doublechina@doublechina:~$ tar -xvf test.tar -C ee 
1.txt
2.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.txt
2.txt
doublechina@doublechina:~$ ls
1.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 f
1.txt
2.txt
doublechina@doublechina:~$ 

7. bz2格式

tar -jcvf  xxx.tar.bz2  文件  # 压缩
tar -jxvf  xxx.tar.bz2      # 解压

doublechina@doublechina:~$ ls
1.txt  2.txt  ee  f  g
#打包
doublechina@doublechina:~$ tar -jcvf test.tar.bz2 *txt
1.txt
2.txt
doublechina@doublechina:~$ ls
1.txt  2.txt  ee  f  g  test.tar.bz2

#解包到g目录下面
doublechina@doublechina:~$ tar -jxvf test.tar.bz2  -C g
1.txt
2.txt

8. zip格式

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

sudo apt-get install zip

#压缩文件
    zip  压缩文件  源文件

doublechina@doublechina:~$ ls
1.txt  2.txt  a  b  c
doublechina@doublechina:~$ zip  test.zip *txt
  adding: 1.txt (stored 0%)
  adding: 2.txt (stored 0%)
doublechina@doublechina:~$ ls
1.txt  2.txt  a  b  c  test.zip


#解压 
    unzip  压缩文件
-d 解压到指定目录  如果目录不存在 会自动创建新目录 并压缩进去
unzip test.zip -d b

doublechina@doublechina:~$ unzip test.zip -d ff
Archive:  test.zip
extracting: ff/1.txt                
extracting: ff/2.txt                
doublechina@doublechina:~$ ls
1.txt  2.txt  a  b  c  ff  test.zip

9. 进程

ps aux 查看进程

查看所有进程 : ps aux

#查看进程
doublechina@doublechina:~$ ps aux
USER      PID %CPU %MEM    VSZ  RSS TTY      STAT START  TIME COMMAND

PID进程编号
%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 find
root      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进程id
doublechina@doublechina:~$ sudo kill -9 1965
[1]+  Killed                  sudo find /
doublechina@doublechina:~$ jobs

ctrl z 暂停 。 fg 继续

  • 发表于 2017-12-09 10:39
  • 阅读 ( 1268 )
  • 分类:linux

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
不写代码的码农
doublechina

IT

31 篇文章

作家榜 »

  1. 威猛的小站长 119 文章
  2. Jonny 65 文章
  3. 江南烟雨 33 文章
  4. - Nightmare 33 文章
  5. doublechina 31 文章
  6. HJ社区-肖峰 29 文章
  7. 伪摄影 20 文章
  8. Alan 14 文章