Linux 命令
1. 概述
Linux是基于Unix的。是一种自由和开放源码的操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。
root管理员的home目录是 root
其他用户的home目录是 home
2. 常用命令
1.man 命令
Linux 下的帮助指令,通过man指令可以查看 Linux 中的指令帮助、配置文件帮助和编程帮助等信息。按 q 键退出查看。
2. cd命令
切换目录命令。
语法 | 作用 |
---|---|
cd [目录名] | 切换到该目录 |
cd ~ | 切换到用户主目录 |
cd / | 切换到系统根目 |
cd .. | 返回上级目录 |
cd - | 返回进入此目录之前所在的目录 |
3. ls 命令
用来显示目标列表。ls 命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件。语法:ls[参数][路径或文件名]
语法 | 作用 |
---|---|
ls | 展示的能看见的文件(和目录)的名称 |
ls -a | 展示所有的文件的名称( 以 . 开头的文件都是隐藏的文件) |
ls -l | 显示文件的详细信息(简写 ll) |
4. mkdir、rmdir命令
1.mkdir
(make directory)命令可用来创建目录。
mkdir [目录名]
在当前目录下创建目录mkdir –p [父目录名]/[子目录名]
级联创建父目录以及子目录
2.rmdir
(remove directory)命令可用来删除 “空” 的目录。
rmdir[目录名]
删除空目录
5. 查看文件命令(cat,more,less,tail)
1.cat
用于显示文件的内容。格式:cat [参数] [文件名]
2.more
一般用于要显示的内容会超过一个画面长度的情况。
按空格键显示下一页。回车显示下一行内容。按 q
键退出查看。
3.less
用法和more
类似。
- 不同的是
less
可以通过PgUp
、PgDn
键来控制。
4.tail
命令是在实际使用过程中使用非常多的一个命令,用于显示文件后几行的内容。
tail [文件名]
: 显示该文件后面几行tail -f [文件名]
: 动态查看,通过ctrl+c
结束滚动查看
6. 文件操作命令(touch,cp , mv , rm , tar)
1.touch
命令用来创建一个文件
touch [文件名]
创建一个空白的文件
2.cp
(copy)命令可以将文件从一处复制到另一处。一般在使用 cp 命令时将一个文件复制成另一个文件或复制到某目录时,需要指定源文件名与目标文件名或目录。
cp [文件名a] [文件名b]
将文件 a 复制为文件 bcp [文件名a] ../
将文件 a 复制到上一层目录中
3.mv
(move)命令可以移动或重命名
mv [文件名a] ../
将文件 a 移动到上一层目录中mv [文件名a] [文件名b]
将文件 a 重命名为文件 b
4.rm
(remove)命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。
rm [文件名]
带询问,删除该文件rm -f [文件名]
不带询问,直接删除rm -r [目录名]
带询问,递归删除rm -rf [目录名]
不带询问,直接递归删除rm -rf /*
删除所有文件(???)
5.tar
命令位于 /bin 目录下,它能够将用户所指定的文件或目录打包(解压)成一个文件,但不做压缩。一般 Linux 上常用的压缩方式是选用 tar 将许多文件打包成一个文件,再以 gzip 压缩命令压缩成xxx.tar.gz(或称为xxx.tgz)的文件。
- 常用参数
- -c:创建一个新tar文件
- -v:显示运行过程的信息
- -f:指定文件名
- -z:调用gzip压缩命令进行压缩
- -t:查看压缩文件的内容
- -x:解开tar文件
- 常用组合
- -cvf : 打包一个文件或者目录
- -zcvf: 打包并压缩一个文件或者目录,压缩格式gzip
- -xvf : 解压或者打开一个tar文件
- 实例
tar –cvf xxx.tar ./*
打包当前目录所有文件tar –zcvf xxx.tar.gz ./*
打包并且压缩当前目录所有文件tar –xvf xxx.tar
解压 xxx.tar 文件tar -xvf xxx.tar.gz -C /usr/aaa
解压 xxx.tar.gz 文件到 /usr/aaa 目录下
7. 文件查找命令(grep)
用来查找符合条件的字符串。语法:grep [选项] [pattern] [文件名]
。
实例
grep match_pattern file_name
在文件中搜索一个单词,命令会返回一个包含“match_pattern”的文本行grep "match_pattern" file_1 file_2 file_3 ...
在多个文件中查找grep "match_pattern" file_name --color
查找到后标记颜色grep "match_pattern" file_name --color -A5
查找到后标记颜色且显示后五行(A5即after 5)grep "match_pattern" file_name --color -A5 -B5
查找到后标记颜色且显示前后五行
3. Vi和 Vim 编辑器
在 Linux 下一般使用 vi 编辑器来编辑文件。vi 既可以查看文件也可以编辑文件。
1.三种模式:命令行、插入、底行模式。
- 切换到命令行模式:按
Esc
键; 切换到插入模式:按
i
、o
、a
键;i
在当前位置生前插入I
在当前行首插入a
在当前位置后插入A
在当前行尾插入o
在当前行之后插入一行O
在当前行之前插入一行- 切换到底行模式:按
:
(冒号)
2.打开文件
vim [文件名]
3.退出文件
esc后输入 :q
4.修改文件
输入i进入插入模式
5.保存并退出
esc后输入:wq
6.不保存退出
esc后输入:q!
其中!
表示强制
4. 重定向输入 >
和 >>
>
重定向输出,覆盖原有内容
>>
重定向输出,在原有内容后追加
实例
ifconfig > a.txt
将输出覆盖 a.txtifconfig >> a.txt
将输入追加在 a.txt
5. 管道
管道是Linux命令中重要的一个概念,其作用是将一个命令的输出用作另一个命令的输入。
实例
ls --help | more
分页查询帮助信息ps –ef | grep java
查询名称中包含java的进程ifconfig | more
通过more来查看ifconfig
6. &&
命令
命令之间使用 &&
连接,实现逻辑与的功能。
只有在 &&
左边的命令返回真(命令返回值 $? == 0),&&
右边的命令才会被执行。
只要有一个命令返回假(命令返回值 $? == 1),后面的命令就不会被执行。
实例
mkdir test && cd test
7. 网络通讯命令
1.ifconfig
显示或设置网络设备。
ifconfig
显示网络设备ifconfig [网卡名称] up
启用网卡ifconfig [网卡名称] down
停用网卡
2.ping
探测网络是否通畅。
ping www.baidu.com
按ctrl+c
退出
3.netstat
查看网络端口。
netstat -an | grep 3306
查询 3306 端口占用情况
8. 系统管理命令
1.date
显示或设置系统时间
date
显示当前系统时间date -s "2018-02-02 10:10:10"
设置系统时间
2.df
显示磁盘信息
df –h
友好显示大小
3.free
显示内存状态
free -m
以 mb 显示内存状态
4.clear
清屏幕
5.ps
正在运行的某个进程的状态
ps –ef
查看所有进程ps –ef | grep ssh
查找 ssh 进程
6.kill
杀掉某一进程
kill 2868
杀掉 2868 编号的进程kill -9 2868
强制杀死进程
7.du
显示目录或文件的大小。
du –h
友好显示当前目录的大小
8.who
显示目前登入系统的用户信息。
9.hostname
查看当前主机名
vi /etc/sysconfig/network
修改
10.uname
显示系统信息。
uname -a
显示本机详细信息。依次为:内核名称(类别),主机名,内核版本号,内核版本,内核编译日期,硬件名,处理器类型,硬件平台类型,操作系统名称
9. Linux 用户和组
9.1. 用户
1.useradd
添加一个用户
useradd test
添加 test 用户useradd test -d /home/t1
指定用户home目录
2.passwd
设置、修改密码
passwd test
为 test 用户设置密码
3.userdel
删除一个用户
userdel test
删除test用户(不会删除home目录)userdel –r test
删除用户以及home目录
4.切换用户
su test
切换 test 用户su - test
切换到 test 用户,并且将环境也切换到 test 用户的环境
5.查看用户的UID
和GID
id [用户名]
9.2. 组
当在创建一个新用户user时,若没有指定他所属于的组,就建立一个和该用户同名的私有组
创建用户时也可以指定所在组
groupadd
创建组
groupadd public
创建一个名为public的组useradd [用户名] –g public
创建用户指定组
groupdel
删除组,如果该组有用户成员,必须先删除用户才能删除组。
groupdel public
9.3. 用户文件
/etc/passwd
用户文件
/etc/shadow
密码文件
/etc/group
组信息文件
10. 权限命令
10.1. 文件类型
普通文件: 包括文本文件、数据文件、可执行的二进制程序文件等。
目录文件: Linux系统把目录看成是一种特殊的文件,利用它构成文件系统的树型结构。
设备文件: Linux系统把每一个设备都看成是一个文件
10.2. 文件类型标识
可以通过ll
看到文件类型的标识
- 普通文件(-)
- 目录(d)
- 符号链接(l)
- 字符设备文件(c)
- 块设备文件(s)
- 套接字(s)
- 命名管道(p)
如图
10.3. 文件的权限
如图
文件的权限为 9 个字母,三个为一组,
- 第一组代表的是当前用户的权限
- 第二组代表的是组的权限
- 第三组代表的是其他用户的权限
r
,w
,x
分别为读:4,写:2,执行:1
所以 1 代表 x,而 2 代表 w ,3 代表 w 和 x ,以此类推
chmod
变更文件或目录的权限。
chmod 755 a.txt
使当前用户有所有权限,组和其他用户有读和执行的权限chmod u=rwx,g=rx,o=rx a.txt
与上一句相同chmod 000 a.txt
root 管理员依然可以拥有全部权限chmod 777 a.txt
chown
变更文件或目录的文件所属用户和组
chown [用户名]:[组名] a.txt
:变更a.txt的所属用户和组chown -R [用户名]:[组名] [目录名]
:变更目录和所有的子目录及文件的所属用户和组