终端显示小技巧:
ctrl + shift + = 放大终端窗口的字体显示
ctrl + - 缩小终端窗口的字体显示
学习终端命令的技巧:
不需要死记硬背,对于常用命令,用的多了,自然就记住了
不要尝试一次学会所有的命令,有些命令是非常不常用的,临时遇到,临时百度就可以
一.查看目录下的文件
1. ls命令:查看当前目录下面都有什么东西
格式: ls [文件名]
ls -a [文件名]:显示目录中所有的文件,包括隐藏文件
其中 . 代表当前目录 …代表上一级目录
2. ll:查看当前目录下面所有文件的详细信息
格式: ll [文件]
相当于 ls -l
3. pwd:查看当前所在的目录
4. cd:切换当前目录
格式: cd [目录]
注意:
cd ./ 当前目录
cd …/ 返回上一级目录
5 touch:创建一个新的文件
格式:touch 【文件】
快速创建多个文件:
6 mkdir:创建一个新的目录
格式:mkdir 目录
7 自动补全
在敲出 文件/目录/命令 的前几个字母之后,按下 tab 键
如果输入的没有歧义,系统会自动补全
如果还存在其他 文件/目录/命令,再按一下 tab 键,系统会提示可能存在的命令
小技巧
按 上/下 光标键可以在曾经使用过的命令之间来回切换
如果想要退出选择,并且不想执行当前选中的命令,可以按 ctrl + c
8 文件编辑命令vim
vim 编辑一个文件
格式:vim 文件名
举例:vim file.txt编辑文件查看效果
未编辑模式:
就是我们使用vim打开一个文件,直接进入的展示样式,效果如下:
编辑模式:
我们在未编辑模式中使用a或者i等命令进入编辑模式,然后我们就可以进入编辑模式,可以在显示区输入任何我们想要输入的内容了,我们就按一下a,然后看看编辑模式
可以看到:
左下角,的内容变成了INSERT了
我们尝试编辑一下该文件,输入写内容
退回到未编辑模式:
我们在编辑模式,输入完内容后,按ESC键,就可以直接退出编辑模式,效果如下
进入命令行模式:
我们在未编辑模式,直接按 :(冒号),就可以进入命令行模式,效果如下
然后我们在冒号后面输入 wq就表示保存文件,查看效果
输入完毕后,就可以按Enter,退出vim了。
为了更好的演示效果,我们重新使用vim打开file.txt文件,在里面再次输入更多的内容:
vim其他方法:
未编辑模式常用方法:
^ 跳转到光标所在行的行首
$ 跳转到光标所在行的行尾
yy 复制光标所在行内容
nyy 复制光标所在行及该行下面n-1行内容
p 在光标所在行的下一行粘贴复制的内容
gg 跳转到当前文档的首行
G 跳转到当前文档的末尾行
dd 删除光标所在行的内容
dgg 删除光标所在行到当前文档首行之间的所有内容
dG 删除光标所在行到当前文档末尾行之间的所有内容
a 从光标的下一个字符位置进入编辑模式
i 从光标的所在位置进入编辑模式
o 从光标所在行的下一行进入编辑模式
O 从光标所在行的上一行进入编辑模式
9 cat:查看文件内容命令
cat 一次性查看文件所有内容
格式:cat 文件名
10 more:每次查看一屏幕内容
格式:more 文件名
注意:
终端有多大,一屏幕就显示多少内容
屏幕大小是按文字行数显示的
按Q退出显示剩余的内容
10 head:只看头部的部分内容
head 查看文件的前10行内容
格式: head 文件名
注意:
默认是显示10行的内容
head -n 指定显示多少行内容,我们来演示一下-n 5 效果
11 tail:查看末尾的内容
具体用法和head相同
12 cp:复制一个文件
cp 拷贝一个文件
格式: cp 源文件名 新文件名
13 mv:移动一个文件或修改文件名
mv 移动一个文件
格式: mv 文件名 目标位置
文件改名 mv
mv 给一个文件改名
格式: mv 旧文件名 新文件名
14 rm:删除一个文件
rm 删除一个文件
格式: rm 文件名
注意:
默认是删除一个文件,那么怎么删除一个目录呢?就是使用-rf参数
15 tar:压缩文件
tar 给一个文件压缩
格式: tar -zcvf 压缩文件名 被压缩的文件
z 指定压缩文件格式 tar.gz
c 指定压缩的时候,使用压缩
v 显示压缩过程
f 指定文件名
x 解压缩
c 指定压缩后文件存放的位置
16 tar:解压文件
tar xf 压缩文件 /home:解压到/home路径下
17 压缩文件 zip(压缩成zip格式)
格式:zip -r 目标文件(没有扩展名) 源文件
18 unzip:解压文件
格式:unzip 压缩文件
19 ln -s:创建软连接
软连接本质上就是windows系统中的超链接,
超链接文件存在的基础是有一个被链接的文件,而且超链接文件存在与否和被连接文件没有任何关系,超链接文件存在的作用就是为了方便访问被连接的文件。
给一个文件创建一个软连接 ln -s
20 wget:文件下载
格式:wget url链接
21 切换root用户 su -
22 判断一个用户是否存在 id 需要判断的用户名
23 创建一个新的用户 useradd
格式: useradd 新用户名
24 给ceshi用户设置密码 passwd
格式: passwd 新用户名
25 切换用户 su -用户名
26 判断当前有哪些用户登录当前主机 who
27 判断当前用户是谁 whoami
28 退出当前用户 exit
注意:
exit退出效果只有在su 切换用户时候效果明显,如果当前终端没有使用过su,那么exit后,直接退出终端
29 更改用户归属权限 chown
这个chown可以理解为:过继、改变归属等意思。
在/tmp 目录下有一个yum.log文件
[admin@localhost ~]$ ll /tmp/yum.log
-rw-------. 1 root root 0 Nov 3 09:33 /tmp/yum.log
可以看到:
当前这个用户的属主和属组都是root
使用admin用户来读取一下这个文件
[admin@localhost ~]$ cat /tmp/yum.log
cat: /tmp/yum.log: Permission denied
可以看到:
报错了,说权限拒绝,因为我不是root权限
使用root用户来更改这个文件的权限
[root@localhost ~]# chown admin.admin /tmp/yum.log
[root@localhost ~]# ll /tmp/yum.log
-rw-------. 1 admin admin 0 Nov 3 09:33 /tmp/yum.log
可以看到:
当前这个文件的权限已经更改为admin权限了
再次使用admin用户来看一下这个文件
[admin@localhost ~]$ cat /tmp/yum.log
[admin@localhost ~]$
可以看到:
这次就可以读取这个文件了,只不过这个文件内容是空
30 文件的读写权限
新创建一个目录,然后在这个目录中创建一个文件和目录,分别查看这两个文件是什么权限
我们知道文件的权限分三种,读 写 执行
读和写我们知道是什么感觉,但是执行是什么意思呢?
我们知道pwd是查看我当前所在的目录的命令,那么我们在这个file.txt文件中加上一句pwd,然后查看一下
[admin@localhost mulu]$ cat file.txt
pwd
执行文件的方式就是 ./文件名
[admin@localhost mulu]$ ./file.txt
bash: ./file.txt: Permission denied
查看文件的权限
[admin@localhost mulu]$ ll file.txt
-rw-rw-r--. 1 admin admin 4 Nov 3 14:38 file.txt
更改file.txt文件的权限,让他变成可执行
[admin@localhost mulu]$ chmod +x file.txt
再次执行该文件
[admin@localhost mulu]$ ./file.txt
/home/admin/mulu
查看文件的属性
可以看到:可执行文件的颜色是绿色的了
其他修改权限命令如下:
chmod u +x 文件:在user权限中加入x可执行权限
chmod o +x 文件:在other权限中加入x可执行权限
chmod g +x 文件:在group权限中加入x可执行权限
31 查找一个文件 find
[root@localhost ~]# find / -name "file.txt"
/home/admin/mulu/file.txt
命令详解:
find 查找执行目录下是否有一个文件
格式: find 指定目录 -name “要找的文件名”
32 查找一个命令是否存在 which
[root@localhost ~]# which cat
/bin/cat
命令详解:
which 判断一个命令是否存在
格式: which 命令文件名
33 查看一个命令在哪里 whereis
命令详解:
whereis 判断一个命令在哪里
格式: whereis 命令名
34 过滤文件中的关键字所在行的内容 grep
命令详解:
grep 过滤文件中的关键字所在行内容
格式: grep 关键字 文件名
格式1:命令1 | grep 关键字
格式2:grep 关键字 文件名
-v 取反
-n 获取内容的时候,显示行号
[admin@localhost ~]$ cat file.doc
first file
...
first file 7
first file 8
first file 9
first file 10
first file 11
[admin@localhost ~]$ grep 7 file.doc
first file 7
35 显示内容 echo
[admin@localhost ~]$ echo nihao
nihao
命令详解:
echo 将后面的内容输出到当前屏幕
格式: echo 内容
将输出内容重定向到一个文件 >
将输出内容重定向到一个文件 >>
> 和 >> 有什么区别?
[admin@localhost ~]$ cat chong.txt
chongdingxiang
[admin@localhost ~]$ echo nihao > chong.txt
[admin@localhost ~]$ cat chong.txt
nihao
[admin@localhost ~]$ echo nihao2 >> chong.txt
[admin@localhost ~]$ cat chong.txt
nihao
nihao2
可以看到:
> 作用是以覆盖的方式,将内容添加到文件中
>>作用是以追加的方式,将内容添加到文件的最后一行的下一行
36 | 管道符
将左侧内容,传递给右侧内容使用
格式:命令1 | 命令2
命令1 执行后的所有内容,通过管道符,传递给命令2使用
grep 过滤想要的内容
格式: grep 关键字
37 **代表任意长度的任意字符 ***
38 当前内核的信息 uname -a
[root@localhost ~]# uname -a
Linux localhost.localdomain 2.6.32-642.el6.x86_64 #1 SMP Tue May 10 17:27:01 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost ~]# uname -m
x86_64
[root@localhost ~]# uname -r
2.6.32-642.el6.x86_64
[root@localhost ~]# uname -n
localhost.localdomain
注意:
-a 表示查看所有内核信息
-n 表示查看当前主机名
-r 表示查看当前内核的版本号
-m 表示查看当前内核的架构版本号
39 查看当前的磁盘容量 df
[root@localhost ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda3 36866632 2669872 32317364 8% /
tmpfs 1954256 76 1954180 1% /dev/shm
/dev/sda1 289293 39556 234377 15% /boot
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 36G 2.6G 31G 8% /
tmpfs 1.9G 76K 1.9G 1% /dev/shm
/dev/sda1 283M 39M 229M 15% /boot
注释:
-h 表示以人类正常识别的方式来查看当前系统的磁盘效果
40 查看当前内存的容量 free
[ root@localhost ~]# free
total used free shared buffers cached
Mem: 3908512 633316 3275196 1796 25160 326364
-/+ buffers/cache: 281792 3626720
Swap: 4046844 0 4046844
[root@localhost ~]# free -m
total used free shared buffers cached
Mem: 3816 618 3198 1 24 318
-/+ buffers/cache: 275 3541
Swap: 3951 0 3951
注释:
-h 表示以人类正常识别的方式来查看当前系统的磁盘效果
41 查看指定的目录容量大小 du
[root@localhost ~]# du Desktop
4 Desktop
[root@localhost ~]# du -h Desktop/
4.0K Desktop/
注释:
-h 表示以人类正常识别的方式来查看当前系统的磁盘效果
42 查看当前系统开启的端口号 netstat
[root@localhost ~]# netstat -tnulp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2138/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1880/cupsd
43 查看服务进程信息 ps
[root@localhost ~]# ps aux | grep ssh
root 2138 0.0 0.0 66240 1196 ? Ss 15:15 0:00 /usr/sbin/sshd
root 4435 0.0 0.1 102088 4128 ? Ss 15:22 0:00 sshd: root@pts/0
root 4476 0.0 0.0 103316 888 pts/0 S+ 15:30 0:00 grep ssh
注意:
因为系统中服务太多了,所以为了方便查看我们需要的服务,我们经常使用管道符和grep过滤关键字的方法查看
这条信息中,我们只需要关注 第二列:“进程号”
44 杀死一个进程 kill
我们想杀死一个进程,那么直接使用 kill 进程号 的格式搞定它
45 开关机命令 shutdown
reboot 重新启动操作系统
shutdown -h now 立刻关机,其中now相当于时间为0的状态
shutdown -h 20:25 系统在今天的20:25 会关机
shutdown -h +10 系统再过十分钟后自动关机
46 替换文件中的指定内容 sed -i
sed -i ‘s#原来的内容#替换内容#g’ 文件名
47 删除用户userdel
userdel 用户名
- 启动服务:systemctl start sshd.service
重启服务:systemctl restart sshd.service
开机自启:systemctl enable sshd.service
连接另一台Linux机器
ssh username@IP(该IP是要连接的计算机ip)