Linux基本操作
- 1.Linux的概述
-
- 1.1 了解Linux
- 1.2 Linux的概述
- 1.3 Linux的历史
- 1.4 Linux系统的应用
- 1.5 Linux的版本
- 1.6 Linux的主流版本
- 2.Linux的安装
- 3.Linux目录结构
- 4.Linux常用命令
-
- 4.1 切换目录命令cd:
- 4.2 列出文件列表:ls ll dir(*****)
- 4.3 创建目录和移除目录:mkdir rmdir
- 4.4浏览文件【cat、more、less】
- 4.5 文件操作【rm、cp、mv、tar、grep】
- 4.6 其他常用命令【pwd、touch、ll -h、wget】
- 5. Vi和Vim编辑器
-
- 5.1 Vim编辑器
- 5.2 重定向输出>和>>
- 5.3 管道 |
- 5.4 &&命令执行控制
- 5.5 网络通讯命令【ifconfig、ping、netstat】
- 5.6 系统管理命令
- 6. Linux的用户和组
-
- 6.1 用户的管理
- 6.2 组管理
- 6.3 id,su命令
- 6.4 一些文件介绍
- 7. Linux权限命令
-
- 7.1 文件权限
- 7.2 Linux三种文件类型
- 7.3 文件类型标识
- 7.4 文件权限管理【chmod、chown】
1.Linux的概述
1.1 了解Linux
- Unix是一个强大的多用户、多任务操作系统。
- 于1969年在AT&T的贝尔实验室开发。
- UNIX的商标权由国际开放标准组织(The Open Group)所拥有。
- UNIX操作系统是商业版,需要收费,价格比Microsoft Windows正版要贵一些。
1.2 Linux的概述 Linux是基于Unix的。Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机。
文章图片
Linux诞生于1991 年10 月5 日。是由芬兰赫尔辛基大学学生Linus Torvalds和后来加入的众多爱好者共同开发完成。
1.3 Linux的历史 Linux最初是由芬兰赫尔辛基大学学生Linus Torvalds由于自己不满意教学中使用的MINIX操作系统, 所以在1990年底由于个人爱好设计出了LINUX系统核心。后来发布于芬兰最大的ftp服务器上,用户可以免费下载,所以它的周边的程序越来越多,Linux本身也逐渐发展壮大起来,之后Linux在不到三年的时间里成为了一个功能完善,稳定可靠的操作系统。
1.4 Linux系统的应用 服务器系统 Web应用服务器、数据库服务器、接口服务器、DNS、FTP等等;
嵌入式系统 路由器、防火墙、手机、PDA、IP 分享器、交换器、家电用品的微电脑控制器等等;
高性能运算、计算密集型应用 Linux有强大的运算能力;
桌面应用系统;
移动手持系统。
1.5 Linux的版本 Linux的版本分为两种:内核版本和发行版本;
- 内核版本是指在Linus领导下的内核小组开发维护的系统内核的版本号。
- 发行版本是一些组织和公司根据自己发行版的不同而自定的。
1.6 Linux的主流版本
文章图片
2.Linux的安装
【Linux|Linux基本操作(Java项目部署基本命令)】Linux安装教程(CentOS安装)
3.Linux目录结构
文章图片
4.Linux常用命令
4.1 切换目录命令cd:
命令 |
作用 |
cd app |
切换到app目录 |
cd … |
切换到上一层目录 |
cd / |
切换到系统根目录 |
cd ~ |
切换到用户主目录 |
cd - |
切换到上一个所在目录 |
4.2 列出文件列表:ls ll dir(*****) ls(list)用来显示当前目录下的内容。配合参数的使用,能以不同的方式显示目录内容。
小知识:在linux中以 . 开头的文件都是隐藏的文件
格式:ls [参数] [路径或文件名]
命令 |
作用 |
ls |
普通显示当前目录下的所有文件和目录但不包括隐藏文件 |
ls -a |
显示所有文件或目录(包含隐藏的文件) |
ls -l 可缩写为 ll |
查看文件详情 |
4.3 创建目录和移除目录:mkdir rmdir
- mkdir(make directory)命令可用来创建子目录。
命令 |
作用 |
mkdir app |
在当前目录下创建app目录 |
mkdir –p app2/test |
级联创建aap2以及test目 |
- rmdir(remove directory)命令可用来删除“空”的子目录。
4.4浏览文件【cat、more、less】
- cat 用于显示文件的内容。
格式:cat [参数] <文件名>
例:cat yum.conf
- more 一般用于要显示的内容会超过一个画面长度的情况。按空格键显示下一个画面。回车显示下一行内容。按 q 键退出查看。
例:more yum.conf ——空格显示下一页数据 回车显示下一行的数据
- less 用法和more类似,不同的是less可以通过PgUp、PgDn键来控制。
例:less yum.conf ——PgUp 和 PgDn 进行上下翻页
- tail命令是在实际使用过程中使用非常多的一个命令,它的功能是:用于显示文件后几行的内容。
命令 |
作用 |
tail -10 /etc/passwd |
查看后10行数据 |
tail -f catalina.log |
动态查看日志(*****) |
补充:ctrl+c |
结束查看 |
4.5 文件操作【rm、cp、mv、tar、grep】
命令 |
作用 |
rm |
删除文件 |
rm a.txt |
删除a.txt文件,删除需要用户确认,y/n |
rm -f a.txt |
不询问,直接删除 |
rm -r a |
递归删除 |
rm -rf a |
不询问递归删除(慎用) |
rm -rf * |
删除所有文件(慎用) |
rm -rf /* |
自杀 |
- cp (copy)命令可以将文件从一处复制到另一处。一般在使用cp命令时将一个文件复制成另一个文件或复制到某目录时,需要指定源文件名与目标文件名或目录。
命令 |
作用 |
cp a.txt b.txt |
将a.txt复制为b.txt文件 |
cp a.txt …/ |
将a.txt文件复制到上一层目录中 |
命令 |
作用 |
mv a.txt …/ |
将a.txt文件移动到上一层目录中 |
mv a.txt b.txt |
将a.txt文件重命名为b.txt |
- tar命令:(***** 打包或解压)位于/bin目录下,它能够将用户所指定的文件或目录打包成一个文件,但不做压缩。一般Linux上常用的压缩方式是选用tar将许多文件打包成一个文件,再以gzip压缩命令压缩成xxx.tar.gz(或称为xxx.tgz)的文件。
tar命令常用参数 |
作用 |
-c |
创建一个新tar文件 |
-v |
显示运行过程的信息 |
-f |
指定文件名 |
-z |
调用gzip压缩命令进行压缩 |
-t |
查看压缩文件的内容 |
-x |
解开tar文件 |
命令 |
作用 |
tar –cvf xxx.tar ./* |
打包 |
tar –zcvf xxx.tar.gz ./* |
打包并且压缩 |
tar –xvf xxx.tar |
解压 |
tar -xvf xxx.tar.gz -C /usr/aaa |
解压到指定aaa目录下 |
- grep查找符合条件的字符串
格式:grep [选项]… PATTERN [FILE]…
命令 |
作用 |
grep lang anaconda-ks.cfg |
在anaconda-ks.cfg文件中查找lang |
grep lang anaconda-ks.cfg --color |
高亮显示要查找的lang |
示例:
文章图片
文章图片
文章图片
4.6 其他常用命令【pwd、touch、ll -h、wget】
命令 |
作用 |
pwd |
显示当前所在目录 |
touch 例子:touch a.txt |
创建一个空文件 |
ll -h |
友好显示文件大小 |
wget 例子:wget http://nginx.org/download/nginx-1.9.12.tar.gz |
下载资源 |
5. Vi和Vim编辑器
5.1 Vim编辑器
- vim编辑器是vi编辑器的一个升级版。
- vi既可以查看文件也可以编辑文件。
- 在Linux下一般使用vi编辑器来编辑文件。
- 三种模式:命令行、插入、底行模式。
- 切换到命令行模式:按Esc键;
- 切换到插入模式:按 i 、o、a键;
参数 |
作用 |
i |
在当前位置前插入 |
I |
在当前行首插入 |
a |
在当前位置后插入 |
A |
在当前行尾插入 |
o |
在当前行之后插入一行 |
O |
在当前行之前插入一行 |
- 切换到底行模式:按 :(冒号);
具体操作步骤:
操作 |
作用 |
vim file |
打开文件 |
esc :q |
退出 |
输入i进入插入模式 |
修改文件 |
esc :wq |
保存并退出 |
esc :q! |
不保存退出 |
进入插入模式 |
i:在当前的光标所在处插入;o:在当前光标所在的行的下一行插入;a:在光标所在的下一个字符插入 |
快捷键 |
dd :快速删除一行 ;R : 替换 |
5.2 重定向输出>和>>
- 使用 > 重定向输出,覆盖原有内容;
- 使用 >> 重定向输出,又追加功能;
示例 |
结果 |
cat /etc/passwd > a.txt |
将输出定向到a.txt中(输出内容覆盖掉a.txt中原有内容) |
cat /etc/passwd >> a.txt |
输出并且追加(输出内容追加在a.txt中原有内容之后) |
5.3 管道 |
- 管道是Linux命令中重要的一个概念,其作用是将一个命令的输出用作另一个命令的输入。
在这里写表格时遇到点小尴尬,写表格的语法里用 | 这个符号,我的示例里也用这个符号,结果语法冲突了。。。。官方暂未解决这个问题。。。
大家将就一下,示例:
ls --help | more ——分页查询帮助信息;
ps –ef | grep java ——查询名称中包含java的进程
5.4 &&命令执行控制
- 命令之间使用 && 连接,实现逻辑与的功能。
- 只有在 && 左边的命令返回真(命令返回值 $? == 0),&& 右边的命令才会被执行。
- 只要有一个命令返回假(命令返回值 $? == 1),后面的命令就不会被执行。
示例 |
作用 |
mkdir test && cd test |
创建test目录后进入test目录 |
5.5 网络通讯命令【ifconfig、ping、netstat】
示例 |
作用 |
ifconfig |
显示网络设备 |
ifconfig eth0 up |
启用eth0网卡 |
ifconfig eth0 down |
停用eth0网卡 |
示例 |
作用 |
ping 192.168.0.1 |
探测本地到IP为192.168.0.1的主机网络是否通畅 |
- netstat 查看网络端口。
示例:netstat -an | grep 3306 ——查询3306端口占用情况
5.6 系统管理命令
示例 |
作用 |
date |
显示或设置系统时间 |
date -s “2014-01-01 10:10:10“ |
设置系统时间 |
df |
显示磁盘信息 |
df –h |
友好显示大小 |
free |
显示内存状态 |
free –m |
以Mb单位显示内存状态 |
top |
显示、管理执行中的程序,以及CPU使用率等 |
clear |
清屏幕 |
ps |
正在运行的某个进程的状态 |
ps –ef |
查看所有进程 |
kill |
杀掉某一进程 |
kill 2868 |
杀掉2868编号的进程 |
kill -9 2868 |
强制杀死进程 |
du |
显示目录或文件的大小 |
du –h |
显示当前目录的大小 |
who |
显示目前登入系统的用户信息 |
hostname |
查看当前主机名 |
uname |
显示系统信息 |
uname -a |
显示本机详细信息(依次为:内核名称【类别】,主机名,内核版本号,内核版本,内核编译日期,硬件名,处理器类型,硬件平台类型,操作系统名称) |
6. Linux的用户和组
6.1 用户的管理
示例 |
作用 |
useradd |
添加一个用户 |
useradd test |
添加test用户 |
useradd test -d /home/t1 |
指定用户home目录 |
passwd |
设置、修改密码 |
passwd test |
为test用户设置密码 |
ssh -l test -p 22 192.168.19.128 |
切换登录 |
su – 【用户名】 |
切换登录用户 |
userdel |
删除一个用户 |
userdel test |
删除test用户(不会删除home目录) |
userdel –r test |
删除用户以及home目录 |
6.2 组管理
- 当在创建一个新用户user时,若没有指定他所属于的组,就建立一个和该用户同名的私有组。
- 创建用户时也可以指定所在组。
示例 |
作用 |
groupadd |
创建组 |
groupadd public |
创建一个名为public的组 |
useradd u1 –g public |
创建u1用户并指定组为public |
groupdel |
删除组,如果该组有用户成员,必须先删除用户才能删除组 |
groupdel public |
删除一个名为public的组 |
6.3 id,su命令
命令 |
功能 |
用法 |
id |
查看一个用户的UID和GID |
id [选项]… [用户名] 示例:
文章图片
|
su |
切换用户 |
su [选项]… [-] [用户 [参数]… ] 示例:su - u1 切换到u1用户,并且将环境也切换到u1用户的环境(推荐使用) |
6.4 一些文件介绍
名称 |
介绍 |
/etc/passwd |
用户文件 |
/etc/shadow |
密码文件 |
/etc/group |
组信息文件 |
- 用户文件
root : x:0:0:root:/root:/bin/bash
名称 |
介绍 |
账号名称 |
在系统中是唯一的 |
用户密码 |
此字段存放加密口令 |
用户标识码(User ID) |
系统内部用它来标示用户 |
组标识码(Group ID) |
系统内部用它来标识用户属性 |
用户相关信息 |
例如用户全名等 |
用户目录 |
用户登录系统后所进入的目录 |
用户环境 |
用户工作的环境 |
- 密码文件
shadow文件中每条记录用冒号间隔的9个字段组成
名称 |
描述 |
用户名 |
用户登录到系统时使用的名字,而且是惟一的 |
口令 |
存放加密的口令 |
最后一次修改时间 |
标识从某一时刻起到用户最后一次修改时间 |
最大时间间隔 |
口令保持有效的最大天数,即多少天后必须修改口令 |
最小时间间隔 |
再次修改口令之间的最小天数 |
警告时间 |
从系统开始警告到口令正式失效的天数 |
不活动时间 |
口令过期少天后,该账号被禁用 |
失效时间 |
指示口令失效的绝对天数(从1970年1月1日开始计算) |
标志 |
未使用 |
名称 |
描述 |
组名 |
用户所属组 |
组口令 |
一般不用 |
GID |
组ID |
用户列表 |
属于该组的所有用户 |
7. Linux权限命令
7.1 文件权限
文章图片
文章图片
7.2 Linux三种文件类型
类型 |
描述 |
普通文件 |
包括文本文件、数据文件、可执行的二进制程序文件等 |
目录文件 |
Linux系统把目录看成是一种特殊的文件,利用它构成文件系统的树型结构 |
设备文件 |
Linux系统把每一个设备都看成是一个文件 |
7.3 文件类型标识
文件类型 |
标识符 |
普通文件 |
- |
目录 |
d |
符号链接 |
l |
字符设备文件 |
c |
块设备文件 |
s |
套接字 |
s |
命名管道 |
p |
7.4 文件权限管理【chmod、chown】
- chmod 755 a.txt
- chmod u=rwx,g=rx,o=rx a.txt
- chmod 000 a.txt / chmod 777 a.txt
- chown 变更文件或目录改文件所属用户和组
示例:
- chown u1:public a.txt ——变更当前的目录或文件的所属用户和组
- chown -R u1:public dir ——变更目录中的所有的子目录及文件的所属用户和组
推荐阅读