目录
一、Linux文件系统和目录
1.1 Linux文件系统
1.2Linux主要目录
二、Linux远程连接
2.1前置条件
2.2 具体远程操作
三、Linux的常用命令
3.1 Linux命令的格式
3.2 Linux命令的帮助信息查看
3.3 Linux文件操作常用命令
命令中快捷键
以管理员权限执行命令
3.3.1 查看目录内容:ls
3.3.2 切换目录:cd
3.3.3 创建文件:touch
3.3.4 创建目录:mkdir
3.3.5 删除文件或目录:rm
3.3.6 文件或目录的复制:cp
3.3.7 文件或目录的移动/重命名:mv
3.3.8 查看文件:cat、more、grep
3.3.9 重定向:>和>>
3.3.10 管道符:|
3.3.11 其他命令:pwd、clear、which、history
3.3.12 回显:echo
3.4 Linux信息系统常用命令
3.4.1 重启:reboot和关机:shutdown
3.4.2 查看系统进程:ps
3.4.3 实时查看系统的进程信息:top
3.4.4 关闭进程:kill
3.4.5 查看系统监听端口:netstat
3.4.6 查看系统监听端口:lsof
3.4.7 查看日志:head、tail
3.5 Linux用户权限和管理
3.5.1 权限的基本概念
3.5.2 修改用户权限:chmod
3.5.3 新增账户:useradd
3.5.4 查看当前登录账户:who
3.5.5 删除用户:userdel
3.5.6 切换用户:su
3.5.7 设置用户密码:passwd
3.5.8 退出登录的用户:exit
一、Linux文件系统和目录
1.1 Linux文件系统
Linux是树形结构的文件系统,其中/是系统的根目录,其他所有目录都是它的子节点。
1.2Linux主要目录
目录介绍:
/:根目录,唯一
/home :用户目录
/root :系统管理员root目录
/usr:应用程序
/etc:系统配置
/boot:内核文件
/tmp:临时文件
/bin:放命令、工具
二、Linux远程连接
2.1前置条件
1.远程连接Linux服务器之前,必须要知道Linux服务器的IP地址,以及SSH的端口(默认∶22)(一般由服务器管理人员提供)
可通过ifconfig命令查看ip地址,netstat -anoptlgrep sshd查看ssh的端口
2.确定ip地址是否可以ping通(在本地电脑进行ping命令操作)
ping ip地址
2.2 具体远程操作
以xshell软件连接工具为例,进行Linux远程操作
1.进入xshell页面,在文件中点击新建
2.输入名称和主机信息,点击确定。名称可随意输入,主机为服务器ip地址
3.配置用户身份验证信息,即服务器的用户名和密码
4.点击确定,完成连接
三、Linux的常用命令
3.1 Linux命令的格式
格式:command [-options] [parameter]
command:表示的是命令的名称
[] :表示是可选的,可有可无。
[-options]:表示的是命令的选项,可有一个或多个,也可以没有
[parameter]:表示的是命令的参数,可以有一个或多个,也可以没有
3.2 Linux命令的帮助信息查看
1.通过--help查看命令的帮助信息:查看的帮助信息相对比较简洁
格式: command(命令的名称) --help 例: ls --help
2.通过man命令查看帮助信息:man命令查看的帮助信息会更加的详细。
格式: man command(命令的名称)
常用的快捷键操作:
空格键:显示手册的下一页
Enter键:滚动显示手册的下一行
B键:显示上一页
F键:显示下一页
/word:可以搜索对应的关键字(word)
Q键:退出man命令显示模式
例:man ls
3.3 Linux文件操作常用命令
命令中快捷键
-
ctrl+a:句首
-
ctrl+e:句尾
-
ctrl+c:中断
以管理员权限执行命令
在命令前加sodu,如:
sudo copy 1.txt 2.txt
3.3.1 查看目录内容:ls
ls:
命令格式:ls [-lah(选项)] [文件或目录]
ls参数说明:
-l:以列表方式详细显示内容信息
-a:显示所有文件,包含隐藏文件及目录
-h:配合-l显示出文件的大小
ls#列举当前目录的文件内容
ls -l
ls -a
ls -lh # h一定要和l—起使用
ls -lha #以列表方式,更加人性化,显示所有文件
ls -lha /usr/bin #查看/usr/bin文件夹里面的内容
通配符:可以匹配符合条件的文件或者目录。
*∶表示匹配O到多个任意字符
?︰表示匹配单个任意字符
[abcd]:表示匹配括号内(a、b、c、d中的)任意的一个字符
[a-d] : a-d表示的是从a到d的范围,也就是a、b、c、d.从中匹配任意一个字符。
3.3.2 切换目录:cd
cd
命令格式: cd [目录名称]
cd命令说明:
cd或者cd ~:切换到当前用户的主目录(/home/用户目录)
cd . 切换到当前目录
cd .. 切换到上一级目录
cd - 切换到上一次所在的目录
注意:文件及目录名称区分大小写
绝对路径:以根路径或家路径开头,表示从根目录/家目录 开始的具体目录位置
相对路径:不以根路径或者家目录开头,表示相对当前目录所在的目录位置
现在在/usr/ bin下
cd /home 先找/,进入/后,找home
cd home 在当前路径下,找home
3.3.3 创建文件:touch
touch
命令格式: touch 文件名 (多个文件名之间用空格隔开)
如果创建的文件名不存在,则新建一个文件
如果创建的文件名已存在,则更新文件的修改时间
3.3.4 创建目录:mkdir
mkdir
命令格式: mkdir [-ifr(选项)] 目录名称 (多个目录之间用空格隔开)
通过-p的选项,实现多个层级的目录创录
例: mkdir -p dir1/dir2/dir3
如果创建的目录名称已存在,则创建失败
mkdir mike:在当前路径下,新建mike文件夹
mkdir /mike:在根路径下,新建mike文件夹
3.3.5 删除文件或目录:rm
rm
命令格式: rm [-ifr(选项)] 目录名或文件名 选项参数说明:
-i:表示交互式执行,删除前会询问是否删除。
-f :表示强制删除,忽略不存在的文件,无需提示。
-r :表示删除文件夹及文件夹下所有的内容。
注意:使用rm删除文件时无法恢复,建议使用rm时跟上-i参数
3.3.6 文件或目录的复制:cp
cp
命令格式: cp [-ifr(选项)] 源文件 目标文件 选项说明:
-f :强制覆盖已存在的文件而不提示
-i ︰覆盖已存在的文件时,会提示用户是否确认。
-r︰复制目录及目录下所有的内容时,必须带上-r参数
-v:显示复制的进度(一般不用)
3.3.7 文件或目录的移动/重命名:mv
mv
命令格式: mv [-ifr(选项)] 源文件 目标文件 选项说明:
-f:强制覆盖已存在的目标文件而不提示
-i:覆盖文件时提示用户是否确认
-v:显示移动é进度(一般不用)
3.3.8 查看文件:cat、more、grep
cat、more、grep
-
cat文件名:适用于查看较少内容的文件,可以用来查看文件、创建文件、合并文件、追加文件等功能
命令格式: cat [-ifr(选项)] 文件名 命令说明: 1、cat可以用来查看文件、创建文件、合并文件及追加文件
2、cat查看文件时会一次显示所有内容,适用于内容较少的文件
常用选项说明:
-
-b:对非空行输出行编号
-
-n :对所有行输出行编号
-
-
more文件名:适用于查看内容较多的文件,用于分屏显示文件内容
命令格式: more 文件名 命令说明: 1、 more命令用于分屏显示文件内容,每次显示一页内容
2、适用于查看文件内容较多的文件
more操作键说明:
-
空格键:显示文件的下一页内容
-
Enter键:滚动显示文件下一行内容
-
b:显示文件的上一页内容(回滚上一页)
-
f :显示文件的下一页内容
-
q:退出
-
-
grep文件名:适用于查看内容较多的文件
命令格式: grep '关键字’ 文件名
常用选项:
-
-v :显示不包含匹配文本的所有行(取反)
-
-n :显示匹配的行及行号
-
-i:忽略大小写
grep正则表达式
-
'^a':表示搜索的文件内容行是以a开头的行。例如:grep -n '^a' 1.txt
-
'ke$:表示搜索的文件内容行是以ke结尾的行。例如:grep -n 'ke$' 1.txt
-
[Ss]igna[Ll]J:匹配[]中的任意一个字符,搜寻匹配单词为SignaL、Signal、signaL、signal的行;
grep -n '[Ss ]igna[Ll]'test.txt
-
3.3.9 重定向:>和>>
> 和 >>
将命令输出的结果写入到(重定向)到另外的文件当中。
>:将命令输出的结果覆盖到对应的文件当中,会覆盖文件中原有内容
>>︰将命令输出的结果追加到对应的文件当中,不会覆盖文件中原有的内容.
cat 1.txt > 2.txt 将1.txt的内容覆盖掉2.txt的内容 cat 1.txt >>2.txt 追加1.txt文件到2.txt后面 cat 1.txt 2.txt > 3.txt 将1.txt和2.txt的内容合并到3.txt文件当中 ls -l > 2.txt 将ls -l查看到的内容覆盖掉2.txt
3.3.10 管道符:|
|:Linux允许将一个命令的输出结果可以通过管道做为另一个命令的输入
常用的管道命令:
more :分屏显示执行结果
grep:通过grep过滤执行结果的内容
例1:ls -l /usr/bin I more 例2:ls /usr/bin I grep '^au' ls /usr/bin显示的内容,放入管道管道的另一边,只取出au开头的内容
3.3.11 其他命令:pwd、clear、which、history
pwd:查看当前目录的路径
clear:清屏
which 工具名称:查找工具安装的位置
history:查看之前运行过的命令
3.3.12 回显:echo
也可通过回显编辑、删除文件
echo ' ' > /var/log/messages 通过重定向命令删除/var/log/messages文件中的内容。
3.4 Linux信息系统常用命令
3.4.1 重启:reboot和关机:shutdown
重启命令: reboot
关机命令: shutdown
对应的选项:shutdown -r now表示重启时,会给其他用户发送提示信息
shutdown -h now表示立刻关机
shutdown -h 20:25表示定时关机,晚上8:25定时关机
shutdown -h +10表示从当时再往后十分钟进行关机
3.4.2 查看系统进程:ps
ps
命令格式: ps -aux | grep '关键字"
选项说明:
-a选项:显示所有用户的进程
-u选项:显示进程的详细状态
-x选项:显示没有控制终端进程
—般会结合grep及管道符去查找特定的进程信息
另一种写法: ps -ef l grep 'sedispatch’(苹果电脑用此方法)
3.4.3 实时查看系统的进程信息:top
top
命令格式: top
快捷键(在进程展示时使用):
M(按shift+m) 可以按内存的使用率降序排列显示进程的信息。
P(按shift+p) 可以按cpu的使用率降序排列显示进程的信息
3.4.4 关闭进程:kill
kill
命令格式: kill -9进程ID
进程id一般会通过ps命令去查看到。
-9表示的是强制的关闭对应的进程。
注意∶需要注意当前执行操作的用户,普通用户不能关闭其他用户的进程,只能关闭自己打开的进程
3.4.5 查看系统监听端口:netstat
netstat
命令格式:netstat [-anptu] l grep '关键字' (一般不用root用户操作)
选项说明:
-a 选项:查看所有已打开的端口
-n选项:以数字方式显示已打开的端口,不显示别名
(http:80 https:443 mysql:3306 ssh:22 )
-p选项:显示对应的进程的PID
-t选项:显示出tcp协议的端口
-u选项:显示出udp协议的端口
例子:
查看当前系统中已打开的TCP协议端口:netstat -anpt
查看当前系统中是否已打开3306的端口:netstat -anptu | grep '3306'
查看当前系统中是否已打开http的服务:netstat -aptu | grep 'http'
mac: netstat -anp tcp
3.4.6 查看系统监听端口:lsof
lsof
命令格式: lsof -i (root用户操作)
-i:表示查看所有已打开的进程的端口
lsof -i:端口号 表示查看特定的端口是否已打开。
例子:查看系统所有已打开的进程端口: lsof -i
查看系统中3306的端口是否已打开: lsof -i:3306
查看系统中http的服务端口是否已打开: lsof -i:8o
使用场景:
当我们去启动某个应用程序时,该应用程序的端口有可能被其他程序所占用。
那么此时就可以通过netstat 或者lsof查看对应的端口被谁占用了。
然后关闭对应的进程,重新启动要启动的应用程序即可。
3.4.7 查看日志:head、tail
日志定义:就一个一个普通的文本文件,文件里写的是软件运行过程的信息 如果软件出问题,在日志文件找错误原因
head
命令格式: head 文件名
命令说明:
默认显示日志文件前10行内容.
head -20文件名:显示日志文件的前20行内容
tail
命令格式: tail文件
命令说明:
默认显示日志文件最后10行内容
tail -15文件名:显示日志文件最后15行内容
tail -f 文件名:实时显示日志的文件信息(最常用)
工作中的使用场景:
当测试发现问题时,需要去查看后台的日志信息,具体操作步骤:
通过tail -f日志文件名(实时打开对应的日志文件并查看)
操作系统复现对应的问题(此时会将操作中出现错误的日志信息打印到tail -f 的查看窗口中)
3.5 Linux用户权限和管理
3.5.1 权限的基本概念
Linux系统中文件和目录的权限
权限 | 英文 | 缩写 | 数字代码 |
---|---|---|---|
读 | read | r | 4 |
写 | write | w | 3 |
执行 | execute | x | 1 |
无权限 | - | 0 |
图片从左往右,依次为:文件类型文件权限、连接数、所属用户、所属组、文件大小、文件最新修改日期、文件名
对应文件权限
3.5.2 修改用户权限:chmod
chomd
字母法(不常用)
命令格式:chmod [用户选项][设置选项][权限] [文件名]
用户选项:
u︰表示的是所属的用户
g:表示的是所属的用户组
o∶表示的是其他用户
a :表示的是所有的用户
设置选项:
+表示增加权限
-:表示撤消权限
=:表示设置权限
例子:
chmod u+w 1.txt 表示对当前目录下的1.txt文件的当前用户增加写的权限
chmod g-x 1.txt 表示对当前目录下的1.txt文件撤消用户组的执行权限
chmod o=rwx 1.txt 表示对当前目录下的1.txt文件的其他用户权限设置为可读可写可执行
chmod u+x,g-w,o+r 1.txt 表示对当前目录下的1.txt文件的当前用户增加执行的权限,撤销用户组写的权限,其他用户增加读的权限
数字法(常用)
命令格式:chmod [用户权限数字相加值][用户组权限数字相加值][其他用户权限数字相加值] [文件名]
r:4
w:2
e:1
例:
chmod 756 1.txt 表示对当前目录下的1.txt文件,用户给予(4+2+1)读写执行的权限,用户组给予(4+1)读执行的权限,其他用户给予(4+2)读写的权限
3.5.3 新增账户:useradd
useradd
命令格式: useradd -[选项] 用户名
命令说明:
useradd admin123:创建一个普通账户admin123
useradd -g root admin2:创建用户admin2,并指定用户的组为root
3.5.4 查看当前登录账户:who
who
命令格式: who
3.5.5 删除用户:userdel
userdel
命令格式:userdel -[选项] 用户名
-r:删除用户及目录
3.5.6 切换用户:su
su
命令格式: su - 或 su 用户名
su -:切换到root用户
su用户名:切换到指定用户下
注意:由普通用户切换到其他用户时,需要输入密码
3.5.7 设置用户密码:passwd
passwd
命令格式:passwd 用户名
passwd :用于设置当前用户的密码
passwd 用户名: 用于设置指定用户的密码(执行命令的用户必须为root,若不为root用户,则在命令前加sudo)
3.5.8 退出登录的用户:exit
exit
命令格式:exit
如果是图形界面,退出当前终端。
如果是使用ssh远程登录,退出登陆账户。
如果是切换后的登陆用户,退出则返回上一个登陆账号。