文章目录

  • 1 Linux下的快捷键
    • 1.1 history 展示历史命令
    • 1.2 命令切换
    • 1.3 清屏
    • 1.4 删除
    • 1.5 tab命令
    • 1.6 光标移动
  • 2 文件和目录操作
    • 2.1 cd - 目录切换
    • 2.2 命令行前面的含义 yeliang@ubuntu
    • 2.3 tree 显示文件夹内的所有目录
    • 2.4 ls命令
    • 2.5 cd 切换到家目录
    • 2.6 mkdir 创建文件夹
    • 2.7 rmdir 删除空目录
    • 2.8 rm -r 递归删除文件夹
    • 2.9 rm -ri 提示是不是要删除递归文件
    • 2.10 touch 创建文件。
    • 2.11 rm 删除文件
    • 2.12 cp 拷贝文件
    • 2.13 vi 查看文件中的内容
    • 2.14 mv 文件移动
    • 2.15 ln创建快捷方式
    • 2.16 查看文件属性
      • 2.16.1 wc 查看文件行数 字数 字节数
      • 2.16.2 od 以什么样的格式进行展示
      • 2.16.3 du查看文件大小
      • 2.16.4 df查看磁盘的使用情况
    • 2.17 which 命令所在位置
    • 2.18 文件权限
      • 2.18.1 文字设定法
      • 2.18.2 数字设定法
    • 2.19 修改文件所属者和所属组
    • 2.20 文件查找
      • 2.20.1 按文件属性查找
      • 2.20.2 按文件内容查找
    • 2.21 压缩和解压缩
      • 2.21.1 gzip ----->.gz格式压缩包
      • 2.21.2 bzip2 -----> .bz2格式压缩包
      • 2.21.3 tar
      • 2.21.4 tar 解压缩
      • 2.21.5 zip压缩/解压缩
  • 3 用户管理
    • 3.1 创建用户
    • 3.2 设置用户的密码
    • 3.3 删除用户
    • 3.4 查看当前系统的所有用户
  • 4 其它命令
    • 4.1 alias 查看命令原型
    • 4.2 echo 输出值
    • 4.3 man man 查看手册

1 Linux下的快捷键

1.1 history 展示历史命令

 yeliangdeMacBook-Pro:~ yeliang$ history3  pwd4  cd ..5  cd 06_chapter/6  node server.js 7  pwd

1.2 命令切换

control + p
control + n

另外也可以用 opntion + 方向键上或下

1.3 清屏

control +l
clear

1.4 删除

光标前面的字符是光标前面的,光标盖住的是光标后面的字符

删除光标前面的 == delete
control + h
删除光标后面的
control + d
删除光标前面的全部
conrol + u

1.5 tab命令

自动补全或者是显示文件夹的目录

按一次: 自动把命令补充完成
按两次: 可以当前目录的子目录全部列出来

1.6 光标移动

移动到命令行首
control + a
移动到命令行尾control + e

2 文件和目录操作

2.1 cd - 目录切换

.表示当前目录
cd .

切换到上一级目录

cd ..

临近的两个目录切换

cd -

2.2 命令行前面的含义 yeliang@ubuntu

yeliang:当前登录用户
ubuntu: 主机名
~:用户的家目录
$:当前用户为普通用户
#: 当前用户为超级目录 -- root

2.3 tree 显示文件夹内的所有目录

tree命令后面不指定文件夹名字,则显示当前目录的所有文件
yeliangdeMacBook-Pro:testTree yeliang$ tree

.
├── test.txt
└── test_01└── innerTest.txt

tree命令后面指定文件夹

yeliangdeMacBook-Pro:testTree yeliang$ tree test_01/
test_01/
└── innerTest.txt

2.4 ls命令

查看当前目录的全部文件列表,包含隐藏的文件

ls -a(all)

包含文件的详细文件

drwxr-xr-x   3 yeliang  staff   96  1 22 16:06 test_01

具体含义

d:文件夹类型.其他类型: -:表示文件类型。l:软连接,快捷方式。 s:套接字。等等
r:读权限
w:写权限
x:执行权限
-:没有权限:
前三个对应所有者的权限
中间三个对应同组用户的权限
后三个是其他人的权限3:表示文件的硬链接数
yeliang:表示文件所有者
staff:该文件所属的组
96:文件大小
1 22 16:06 :创建或修改的时间
test_01:文件名

2.5 cd 切换到家目录

cd home/yeiang
cd ~
cd

2.6 mkdir 创建文件夹

yeliangdeMacBook-Pro:testTree yeliang$ mkdir testcreate
yeliangdeMacBook-Pro:testTree yeliang$ ls
test.txt    test_01     testcreate
创建文件夹及其子文件夹 mkdir -p
yeliangdeMacBook-Pro:testTree yeliang$ mkdir -p a/b/c
yeliangdeMacBook-Pro:testTree yeliang$ tree a
a
yeliangdeMacBook-Pro:testTree yeliang$ mkdir -p a/b/c
yeliangdeMacBook-Pro:testTree yeliang$ tree a
a
└── b└── c

2.7 rmdir 删除空目录

rmdir一般不用,因为只能删除空文件夹

yeliangdeMacBook-Pro:testTree yeliang$ rmdir test_01/
rmdir: test_01/: Directory not empty

2.8 rm -r 递归删除文件夹

'-r’的意思是递归的意思。删除的文件直接就没了,不会放入回收站
yeliangdeMacBook-Pro:test_command yeliang$ tree

.
└── a├── a.txt└── b.txt1 directory, 2 files
yeliangdeMacBook-Pro:test_command yeliang$ rm -r a
yeliangdeMacBook-Pro:test_command yeliang$ tree
.0 directories, 0 files

2.9 rm -ri 提示是不是要删除递归文件

yeliangdeMacBook-Pro:testTree yeliang$ tree
.
├── -p
├── a
│   └── b
│       └── c
├── test.txt
├── test_01
│   ├── a
│   │   └── aaa.txt
│   └── innerTest.txt
└── testcreate7 directories, 3 files
yeliangdeMacBook-Pro:testTree yeliang$ rm -ri test_01
examine files in directory test_01? y
remove test_01/innerTest.txt? y
examine files in directory test_01/a? y
remove test_01/a/aaa.txt? y
remove test_01/a? y
remove test_01? y
yeliangdeMacBook-Pro:testTree yeliang$ tree
.
├── -p
├── a
│   └── b
│       └── c
├── test.txt
└── testcreate5 directories, 1 file

2.10 touch 创建文件。

如果文件不存在,则创建文件。如果文件存在则修改文件创建的时间

yeliangdeMacBook-Pro:test_command yeliang$ ls
kobe
yeliangdeMacBook-Pro:test_command yeliang$ touch hello.c
yeliangdeMacBook-Pro:test_command yeliang$ ls
hello.c kobe
yeliangdeMacBook-Pro:test_command yeliang$ ls -al
total 0
drwxr-xr-x   4 yeliang  staff  128  1 22 19:45 .
drwx------+ 19 yeliang  staff  608  1 22 19:37 ..
-rw-r--r--   1 yeliang  staff    0  1 22 19:45 hello.c
-rw-r--r--   1 yeliang  staff    0  1 22 19:41 kobe
yeliangdeMacBook-Pro:test_command yeliang$ touch hello.c
yeliangdeMacBook-Pro:test_command yeliang$ ls -al
total 0
drwxr-xr-x   4 yeliang  staff  128  1 22 19:45 .
drwx------+ 19 yeliang  staff  608  1 22 19:37 ..
-rw-r--r--   1 yeliang  staff    0  1 22 19:46 hello.c
-rw-r--r--   1 yeliang  staff    0  1 22 19:41 kobe

2.11 rm 删除文件

yeliangdeMacBook-Pro:test_command yeliang$ ls
a   hello.c kobe
yeliangdeMacBook-Pro:test_command yeliang$ rm hello.c
yeliangdeMacBook-Pro:test_command yeliang$ ls
a   kobe

2.12 cp 拷贝文件

将文件a.c拷贝到未创建的b.c中

YeLiang:test_command yeliang$ tree
.
└── a.c0 directories, 1 file
YeLiang:test_command yeliang$ cat a.c
hello candy
YeLiang:test_command yeliang$ cp a.c b.c
YeLiang:test_command yeliang$ cat b.c
hello candy

将文件a.c拷贝到已创建的c.c文件中,会覆盖c.c中的内容

YeLiang:test_command yeliang$ ls
a.c b.c c.c
YeLiang:test_command yeliang$ cat c.c
this content in c.c file
YeLiang:test_command yeliang$ cat a.c
hello candy
YeLiang:test_command yeliang$ cp a.c c.c
YeLiang:test_command yeliang$ cat c.c
hello candy

将a文件夹拷贝到b文件夹
必须要添加-r参数,表示递归拷贝
如果b文件夹不存在,则会先创建b文件夹,再将a中的内容拷贝到b中

YeLiang:test_command yeliang$ tree
.
└── a├── a.c└── b.c1 directory, 2 files
YeLiang:test_command yeliang$ cp a b
cp: a is a directory (not copied).
YeLiang:test_command yeliang$ cp -r a b
YeLiang:test_command yeliang$ tree
.
├── a
│   ├── a.c
│   └── b.c
└── b├── a.c└── b.c2 directories, 4 files

如果b文件夹已存在,则会将a中的内容拷贝到b中

YeLiang:test_command yeliang$ tree
.
├── a
│   ├── a.c
│   └── b.c
└── b├── a.c└── b.c2 directories, 4 files
YeLiang:test_command yeliang$ cp -r a b
YeLiang:test_command yeliang$ tree
.
├── a
│   ├── a.c
│   └── b.c
└── b├── a│   ├── a.c│   └── b.c├── a.c└── b.c3 directories, 6 files

2.13 vi 查看文件中的内容

适合文件中内容比较少的

cat

一般都是用vi

vi

2.14 mv 文件移动

mv a.c b.c 如果b.c不存在,则直接把a.c的名字改为b.c

YeLiang:test_command yeliang$ ls
a.c
YeLiang:test_command yeliang$ cat a.c
this content in a.c
YeLiang:test_command yeliang$ mv a.c b.c
YeLiang:test_command yeliang$ ls
b.c
YeLiang:test_command yeliang$ cat b.c
this content in a.c

mv a.c a,其中a为文件夹,则会把a.c移动到a文件夹中

YeLiang:test_command yeliang$ tree
.
├── a
│   └── b.c
└── a.c1 directory, 2 files
YeLiang:test_command yeliang$ mv a.c a
YeLiang:test_command yeliang$ tree
.
└── a├── a.c└── b.c1 directory, 2 files

2.15 ln创建快捷方式

ln -s 创建软链接

YeLiang:test_command yeliang$ ls
a
YeLiang:test_command yeliang$ tree
.
└── a├── a.c└── b.c1 directory, 2 files
YeLiang:test_command yeliang$ ln -s /Users/yeliang/Desktop/test_command/a b
YeLiang:test_command yeliang$ tree
.
├── a
│   ├── a.c
│   └── b.c
└── b -> /Users/yeliang/Desktop/test_command/a2 directories, 2 files
YeLiang:test_command yeliang$ mv b ../
YeLiang:test_command yeliang$ cd ..
YeLiang:Desktop yeliang$ cd b
YeLiang:b yeliang$ ls
a.c b.c

ln a.c b.c 创建a.c的硬链接。
创建硬链接即为文件的重命名。修改b.c同时a.c中的内容也同时变。即a.c和b.c指向相同的内容。

YeLiang:a yeliang$ ls
a.c
YeLiang:a yeliang$ cat a.c
this content in a.c
YeLiang:a yeliang$ ln a.c b.c
YeLiang:a yeliang$ ls
a.c b.c
YeLiang:a yeliang$ cat b.c
this content in a.c
YeLiang:a yeliang$ vi b.c
YeLiang:a yeliang$ cat b.c
this content in a.c
YeLiang:a yeliang$ vi b.c
YeLiang:a yeliang$ cat b.c
this content in b.c
YeLiang:a yeliang$ cat a.c
this content in b.c

2.16 查看文件属性

2.16.1 wc 查看文件行数 字数 字节数
YeLiang:a yeliang$ cat a.c
this content in b.c
YeLiang:a yeliang$ wc a.c1       4      21 a.c

1 表示一行
4 表示四个单词
21 表示占用21个字节

2.16.2 od 以什么样的格式进行展示

od -x表示以16进制显示
-c ASCII字符或反斜杠序列
-d[SIZE] 有符号十进制数,每个整数SIZE字节。
-f[SIZE] 浮点数,每个整数SIZE字节。
-o[SIZE] 八进制(系统默认值为02),每个整数SIZE字节。 u[SIZE] 无符号十进制数,每个整数SIZE字节。
-x[SIZE] 十六进制数,每个整数SIZE字节。

YeLiang:a yeliang$ od -x a.c
0000000      6874    7369    6320    6e6f    6574    746e    6920    206e
0000020      2e62    2063    000a
0000025
2.16.3 du查看文件大小

大小都是4k的整数倍

YeLiang:a yeliang$ du -h a.c
4.0K    a.c
2.16.4 df查看磁盘的使用情况
YeLiang:a yeliang$ df -h
Filesystem      Size   Used  Avail Capacity iused               ifree %iused  Mounted on
/dev/disk1s1   234Gi  189Gi   43Gi    82% 2331336 9223372036852444471    0%   /
devfs          330Ki  330Ki    0Bi   100%    1140                   0  100%   /dev
/dev/disk1s4   234Gi  1.0Gi   43Gi     3%       1 9223372036854775806    0%   /private/var/vm
map -hosts       0Bi    0Bi    0Bi   100%       0                   0  100%   /net
map auto_home    0Bi    0Bi    0Bi   100%       0                   0  100%   /home

2.17 which 命令所在位置

YeLiang:a yeliang$ which ls
/bin/ls
YeLiang:a yeliang$ which adb
/Users/yeliang/Library/Android/sdk/platform-tools/adb
YeLiang:a yeliang$ whick cd
-bash: whick: command not found

cd是内建命令,所以找不到位置

2.18 文件权限

2.18.1 文字设定法

chmod [who] [+|-|=] [mode]
who:

文件所有者 u
文件所属组 g
其他人    o
所有人    a

[+|-|=]

+: 增加权限
-: 减少权限
=: 覆盖原来的权限

[mode]

r:读
w:写
x:执行
YeLiang:a yeliang$ ls -l
total 16
-rw-r--r--  2 yeliang  staff  21  1 23 11:35 a.c
-rw-r--r--  2 yeliang  staff  21  1 23 11:35 b.c
YeLiang:a yeliang$ chmod o+w a.c
YeLiang:a yeliang$ ls -l
total 16
-rw-r--rw-  2 yeliang  staff  21  1 23 11:35 a.c
-rw-r--rw-  2 yeliang  staff  21  1 23 11:35 b.c
YeLiang:a yeliang$ chmod u+w a.c
YeLiang:a yeliang$ ls -l
total 16
-rw-r--rw-  2 yeliang  staff  21  1 23 11:35 a.c
-rw-r--rw-  2 yeliang  staff  21  1 23 11:35 b.c
YeLiang:a yeliang$ chmod g=x a.c
YeLiang:a yeliang$ ls
a.c b.c
YeLiang:a yeliang$ ls -l
total 16
-rw---xrw-  2 yeliang  staff  21  1 23 11:35 a.c
-rw---xrw-  2 yeliang  staff  21  1 23 11:35 b.c
YeLiang:a yeliang$ chmod g+w a.c
YeLiang:a yeliang$ ls -l
total 16
-rw--wxrw-  2 yeliang  staff  21  1 23 11:35 a.c
-rw--wxrw-  2 yeliang  staff  21  1 23 11:35 b.c
YeLiang:a yeliang$ chmod u+x a.c
YeLiang:a yeliang$ ls -l
total 16
-rwx-wxrw-  2 yeliang  staff  21  1 23 11:35 a.c
-rwx-wxrw-  2 yeliang  staff  21  1 23 11:35 b.c
2.18.2 数字设定法

r: 4
w: 2
x: 1
例如

765
7 rwx 文件所有者权限
6 rw-  文件所属组权限
5 r-x  其他人权限
YeLiang:a yeliang$ ls -l
total 8
---------x  1 yeliang  staff  21  1 23 11:35 a.c
YeLiang:a yeliang$ chmod 765 a.c
YeLiang:a yeliang$ ls -l
total 8
-rwxrw-r-x  1 yeliang  staff  21  1 23 11:35 a.c

2.19 修改文件所属者和所属组

2.20 文件查找

2.20.1 按文件属性查找

1 文件名查找: find + 查找目录 + -name + “文件的名字”

root@iZ2ze9ftqv2b7zbety6qd8Z:~/yeliang/test_command# ls
aello.c  bello.c  hella.c  hello.c
root@iZ2ze9ftqv2b7zbety6qd8Z:~/yeliang/test_command# find . -name "hel*"
./hello.c
./hella.c
root@iZ2ze9ftqv2b7zbety6qd8Z:~/yeliang/test_command# find . -name "ae*"
./aello.c
root@iZ2ze9ftqv2b7zbety6qd8Z:~/yeliang/test_command# find . -name "hello.?"
./hello.c

2 大小查找: find + 查找目录 + -size + +10M
3 文件类型查找: find + 查找目录 + -type + d/f/b/c/s/p/l
d:目录, l:连接符号,p: 管道,s: socket文件, c: 字符设备,b: 块设备, f:

2.20.2 按文件内容查找

grep + -r + “查找的内容” + 查找的路径

root@iZ2ze9ftqv2b7zbety6qd8Z:~/yeliang/test_command# tree
.
├── a
│   └── heads.c
├── aello.c
├── bello.c
├── hella.c
└── hello.c1 directory, 5 files
root@iZ2ze9ftqv2b7zbety6qd8Z:~/yeliang/test_command# grep -r "he" .
./aello.c:this content in hello.c
./bello.c:this content in hello.c
./a/heads.c:fsdfshea
./hello.c:this content in hello.c
./hella.c:this content in hello.c

2.21 压缩和解压缩

屌丝版

2.21.1 gzip ----->.gz格式压缩包
root@iZ2ze9ftqv2b7zbety6qd8Z:~/yeliang# ls
coturn       nginx-rtmp-module-master  node_server  server_b.js  test_command
letsencrypt  node_modules              server_a.js  server.js
root@iZ2ze9ftqv2b7zbety6qd8Z:~/yeliang# gzip *.js
root@iZ2ze9ftqv2b7zbety6qd8Z:~/yeliang# ls
coturn       nginx-rtmp-module-master  node_server     server_b.js.gz  test_command
letsencrypt  node_modules              server_a.js.gz  server.js.gz
root@iZ2ze9ftqv2b7zbety6qd8Z:~/yeliang# gunzip *.gz
root@iZ2ze9ftqv2b7zbety6qd8Z:~/yeliang# ls
coturn       nginx-rtmp-module-master  node_server  server_b.js  test_command
letsencrypt  node_modules              server_a.js  server.js
2.21.2 bzip2 -----> .bz2格式压缩包
root@iZ2ze9ftqv2b7zbety6qd8Z:~/yeliang# bzip2 *.js
root@iZ2ze9ftqv2b7zbety6qd8Z:~/yeliang# ls
coturn       nginx-rtmp-module-master  node_server      server_b.js.bz2  test_command
letsencrypt  node_modules              server_a.js.bz2  server.js.bz2
root@iZ2ze9ftqv2b7zbety6qd8Z:~/yeliang# bunzip2 *.bz2
root@iZ2ze9ftqv2b7zbety6qd8Z:~/yeliang# ls
coturn       nginx-rtmp-module-master  node_server  server_b.js  test_command
letsencrypt  node_modules              server_a.js  server.js

可支持保留源文件

root@iZ2ze9ftqv2b7zbety6qd8Z:~/yeliang# bzip2 -k *.js
root@iZ2ze9ftqv2b7zbety6qd8Z:~/yeliang# ls
coturn                    node_modules  server_a.js.bz2  server.js
letsencrypt               node_server   server_b.js      server.js.bz2
nginx-rtmp-module-master  server_a.js   server_b.js.bz2  test_command
2.21.3 tar

参数含义
c—创建—压缩
x—释放—解压缩
v—显示提示信息—压缩解压缩—可以省略
f—指定压缩文件的名字
z—使用gzip方式压缩文件 — .gz
j—使用bizp2的方式压缩文件 ----.bz2

另外注意指定文件名压缩是为了解压缩时方便。否则解压是不知道是以什么格式压缩的。

root@iZ2ze9ftqv2b7zbety6qd8Z:~/yeliang/test_tar# ls
tar_file_1.txt  tar_file_2.txt  tar_file.txt
root@iZ2ze9ftqv2b7zbety6qd8Z:~/yeliang/test_tar# tar zcvf alltxt.tar.bz2 *.txt
tar_file_1.txt
tar_file_2.txt
tar_file.txt
root@iZ2ze9ftqv2b7zbety6qd8Z:~/yeliang/test_tar# ls
alltxt.tar.bz2  tar_file_1.txt  tar_file_2.txt  tar_file.txt

文件夹和文件打包

root@iZ2ze9ftqv2b7zbety6qd8Z:~/yeliang/test_tar# ls
tar_file_1.txt  tar_file_2.txt  tar_file.txt  txt_folder
root@iZ2ze9ftqv2b7zbety6qd8Z:~/yeliang/test_tar# tar cjvf all_txt.tar.bz2 *.txt txt_folder/
tar_file_1.txt
tar_file_2.txt
tar_file.txt
txt_folder/
txt_folder/tar_file_1.txt
txt_folder/tar_file_2.txt
root@iZ2ze9ftqv2b7zbety6qd8Z:~/yeliang/test_tar# ls
all_txt.tar.bz2  tar_file_1.txt  tar_file_2.txt  tar_file.txt  txt_folder
2.21.4 tar 解压缩
root@iZ2ze9ftqv2b7zbety6qd8Z:~/yeliang/test_tar# ls
all_txt.tar.bz2
root@iZ2ze9ftqv2b7zbety6qd8Z:~/yeliang/test_tar# tar jxvf all_txt.tar.bz2
tar_file_1.txt
tar_file_2.txt
tar_file.txt
txt_folder/
txt_folder/tar_file_1.txt
txt_folder/tar_file_2.txt
root@iZ2ze9ftqv2b7zbety6qd8Z:~/yeliang/test_tar# ls
all_txt.tar.bz2  tar_file_1.txt  tar_file_2.txt  tar_file.txt  txt_folder

解压到指定文件夹

root@iZ2ze9ftqv2b7zbety6qd8Z:~/yeliang/test_tar# tree
.
├── all_txt.tar.bz2
├── new_folder
└── txt_folder├── tar_file_1.txt└── tar_file_2.txt2 directories, 3 files
root@iZ2ze9ftqv2b7zbety6qd8Z:~/yeliang/test_tar# tar jxvf all_txt.tar.bz2 -C new_folder/
tar_file_1.txt
tar_file_2.txt
tar_file.txt
txt_folder/
txt_folder/tar_file_1.txt
txt_folder/tar_file_2.txt
root@iZ2ze9ftqv2b7zbety6qd8Z:~/yeliang/test_tar# tree
.
├── all_txt.tar.bz2
├── new_folder
│   ├── tar_file_1.txt
│   ├── tar_file_2.txt
│   ├── tar_file.txt
│   └── txt_folder
│       ├── tar_file_1.txt
│       └── tar_file_2.txt
└── txt_folder├── tar_file_1.txt└── tar_file_2.txt3 directories, 8 files
2.21.5 zip压缩/解压缩

压缩

root@iZ2ze9ftqv2b7zbety6qd8Z:~/yeliang/test_tar# ls
tar_file_1.txt  tar_file_2.txt  tar_file.txt
root@iZ2ze9ftqv2b7zbety6qd8Z:~/yeliang/test_tar# zip alltxt *.txtadding: tar_file_1.txt (stored 0%)adding: tar_file_2.txt (stored 0%)adding: tar_file.txt (stored 0%)
root@iZ2ze9ftqv2b7zbety6qd8Z:~/yeliang/test_tar# ls
alltxt.zip  tar_file_1.txt  tar_file_2.txt  tar_file.txt

解压缩

root@iZ2ze9ftqv2b7zbety6qd8Z:~/yeliang/test_tar# ls
alltxt.zip
root@iZ2ze9ftqv2b7zbety6qd8Z:~/yeliang/test_tar# unzip alltxt.zip
Archive:  alltxt.zipextracting: tar_file_1.txt          extracting: tar_file_2.txt          extracting: tar_file.txt
root@iZ2ze9ftqv2b7zbety6qd8Z:~/yeliang/test_tar# ls
alltxt.zip  tar_file_1.txt  tar_file_2.txt  tar_file.txt

压缩文件夹

root@iZ2ze9ftqv2b7zbety6qd8Z:~/yeliang/test_tar# tree
.
└── txt_folder├── tar_file_1.txt├── tar_file_2.txt└── tar_file.txt1 directory, 3 files
root@iZ2ze9ftqv2b7zbety6qd8Z:~/yeliang/test_tar# zip -r txt_folder txt_folderadding: txt_folder/ (stored 0%)adding: txt_folder/tar_file_1.txt (stored 0%)adding: txt_folder/tar_file_2.txt (stored 0%)adding: txt_folder/.zip (stored 0%)adding: txt_folder/tar_file.txt (stored 0%)
root@iZ2ze9ftqv2b7zbety6qd8Z:~/yeliang/test_tar# tree
.
├── txt_folder
│   ├── tar_file_1.txt
│   ├── tar_file_2.txt
│   └── tar_file.txt
└── txt_folder.zip1 directory, 4 files

3 用户管理

3.1 创建用户

第一种方式

adduser james

查看创建的用户

root@iZ2ze9ftqv2b7zbety6qd8Z:/home# ls
james

切换至用户

root@iZ2ze9ftqv2b7zbety6qd8Z:/home# su james
james@iZ2ze9ftqv2b7zbety6qd8Z:/home$ exit
exit

查看当前用户

root@iZ2ze9ftqv2b7zbety6qd8Z:/home# su james
james@iZ2ze9ftqv2b7zbety6qd8Z:/home$ whoami
james

第二种方式创建

root@iZ2ze9ftqv2b7zbety6qd8Z:/home# useradd -s /bin/bash -g json -d /home/json -m json
useradd: group 'json' does not exist
root@iZ2ze9ftqv2b7zbety6qd8Z:/home# groupadd json
root@iZ2ze9ftqv2b7zbety6qd8Z:/home# useradd -s /bin/bash -g json -d /home/json -m json
root@iZ2ze9ftqv2b7zbety6qd8Z:/home# cd /home
root@iZ2ze9ftqv2b7zbety6qd8Z:/home# ls
james  json

-s:执行用户登录的shell类型
-g:指定所属组
-d:指定家目录
-m:用户目录不存在时,自动创建该目录

3.2 设置用户的密码
root@iZ2ze9ftqv2b7zbety6qd8Z:/home# passwd json
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
3.3 删除用户

第一种方式

root@iZ2ze9ftqv2b7zbety6qd8Z:/home# deluser json
Removing user `json' ...
Warning: group `json' has no more members.
Done.

这种方式需要手动删除家目录

root@iZ2ze9ftqv2b7zbety6qd8Z:/home# ls
james  json
root@iZ2ze9ftqv2b7zbety6qd8Z:/home# rm -r json
root@iZ2ze9ftqv2b7zbety6qd8Z:/home# ls
james

第二种方式

root@iZ2ze9ftqv2b7zbety6qd8Z:/home# userdel -r james
userdel: james mail spool (/var/mail/james) not found
root@iZ2ze9ftqv2b7zbety6qd8Z:/home# ls
root@iZ2ze9ftqv2b7zbety6qd8Z:/home#

这种方式删除了就会比较干净

3.4 查看当前系统的所有用户
root@iZ2ze9ftqv2b7zbety6qd8Z:~# vim /etc/passwd

会看到如下对应的所有用户

nba:x:1001:1001::/home/itcast:/bin/bash
group_name_a:x:1002:1003::/home/group_name_a:/bin/bash
kobe:x:1003:1002::/home/kobe:/bin/bash

4 其它命令

4.1 alias 查看命令原型

查看命令是否是被封装过的

root@iZ2ze9ftqv2b7zbety6qd8Z:~# alias ls
alias ls='ls --color=auto'
4.2 echo 输出值
root@iZ2ze9ftqv2b7zbety6qd8Z:~# echo "hello world!"
hello world!

输出当前的环境变量

root@iZ2ze9ftqv2b7zbety6qd8Z:~# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/coturn/bin:/usr/local/nginx/sbin
4.3 man man 查看手册
root@iZ2ze9ftqv2b7zbety6qd8Z:~# man man

Linux基础(一) Linux命令相关推荐

  1. linux基础 linhaifeng,Linux 基础命令(一)

    Linux 基础: Linux 比 Windows 更稳定做服务器,开发出来的软件需要在服务器上运行 # 测试硬盘速度 dd if=/dev/zero of=sdb5/test bs=10G coun ...

  2. Ubuntu学习日记--Lesson1:Linux基础和常用命令

    版权生命:文章系原创,转载请注明出处,多谢! 为了在Linux系统下用深度学习框架caffe,系统补习了一下Linux操作的知识,做些笔记,以备复习,或随时查看. Lesson1:Linux基础和常用 ...

  3. Day 01嵌入式学习之Linux基础知识和命令操作

    学习嵌入式开发的随堂笔记 Day 01嵌入式学习之linux基础知识和命令操作 1.英文: read:读,r字母 write:写,w字母 execute:执行,运行,x字母 directory:目录, ...

  4. Linux基础运维命令

    Linux基础运维命令 Linux基础命令 文章目录 Linux基础运维命令 前言 一.初始化_用户管理 1.创建用户组 2.创建用户dmdba 3.修改密码 二.防火墙 1.查看防火墙状态 2.暂时 ...

  5. linux权限命令chgrp,Linux 基础——权限管理命令chown、chgrp

    一.chown命令与chgrp命令的作用 有时你需要改变文件或目录的属主,比如有人离职或开发人员创建了一个在测试或生产环境中需要归属在系统账户下的应用.Linux提供了两个命令来实现这个功能:chow ...

  6. Linux基础之常用命令

    Linux基础之常用命令 01 | 切换目录命令:cd 1)cd opt 切换到opt目录 2)cd - 切换到上一层目录 3)cd / 切换到系统根目录 02 | 列出文件列表:ls ll 1)ls ...

  7. linux pkill窗口,Linux基础:pkill命令总结

    这里将告诉您Linux基础:pkill命令总结,教程操作步骤:Linux如何踢掉/杀掉在线用户/终端? blog:https://www.cnblogs.com/Rohn/ 本文只总结一些常用的用法, ...

  8. 【Linux基础】Linux软件包管理器yum的使用指南rzsz安装

    [Linux基础]Linux软件包管理器yum的使用指南|rzsz安装 前言 主页: 潮.eth的博客_CSDN博客-C学习,C++学习,数据结构and算法领域博主 Linux基础专栏: Linux基 ...

  9. linux基础学习——linux的文件权限和目录配置

    linux基础学习--linux的文件权限和目录配置 1.用户和用户组和其他人概念: 三个概念的前提宗旨:linux是一个多人多任务的系统环境.如果不对文件作出一个权限限制的话.任何人都能操作这份文件 ...

  10. linux 基础知识及命令总结

    1.mkdir   创建目录 -p 创建多级目录  mkdir -p /data/test -m, --mode=模式 设置权限模式(类似chmod),而不是rwxrwxrwx 减umask -p, ...

最新文章

  1. 小程序订阅消息 订阅消息开发
  2. shell echo 换行 不换行 打印换行
  3. 20.校准相机——介绍,使用已知点进行校正,直接线性校准均匀性第1部分,直接线性校准均匀性第2部分_1
  4. 设计模式学习总结——工厂模式
  5. 外贸网站建设(转自xmfish)
  6. Halcon和Visionpro的对比
  7. 温室番茄一般病害的检测与严重程度评估系统(COCO Annotator 是一种基于 Web 的图像注释工具)
  8. java之xml编程
  9. mysql外键可以是空吗_带外键的表列可以为NULL吗?
  10. 基于Android新闻RSS阅读器客户端app
  11. stdafx有什么用(包含相关问题分析)
  12. java tuscany_Apache Tuscany Java 1.1发布
  13. 2019年十大物联网安全事件
  14. no zuo no die _0_
  15. 2021年焊工(初级)考试及焊工(初级)考试内容
  16. F1C100S电阻触摸屏驱动
  17. 《深入理解 Java 虚拟机》转载周志明
  18. Jmeter的Java脚本往Kafka里传数据(SASL认证)——记第一次写JAVA的Jmeter脚本,超详细。
  19. 64匹马8条跑道找最快的4匹马
  20. 从零开始使用 IDEA 开发插件 (一)

热门文章

  1. Python 项目二 Web应用程序 01
  2. 【教学类-19-02】20221127《ABCABC式-规律排序-A4竖版2份》(中班)
  3. Linux终端使用dbg进行调试
  4. Javascript解码#x格式的字符串
  5. 02 【PMP】项目管理系统、PMIS、工作授权系统、配置管理系统、变更管理
  6. 《Nuitka打包实战指南》第六节 打包资源文件
  7. 2016年腾讯web前端实习生面试记录
  8. PCIE-XPDMA-SGDMA调试笔记
  9. -50℃内低温抗磨液压油|液压系统油
  10. mybatis错误解析mapper.xml注释错误分析