首先来介绍下Linux目录结构
- bin:(binaries)存放二进制可执行文件
- sbin:(super user binaries)存放二进制可执行文件,只有root才能访问。
- etc:(etcetera)存放系统配置文件
- usr:(unix shared resources)用于存放共享的系统资源
- home:存放用户文件的根目录
- root:超级用户目录
- dev:(devices)用于存放设备文件
- lib:(library)存放跟文件系统中的程序运行所需要的共享库及内核模块
- mnt:(mount)系统管理员安装临时文件系统的安装点
- boot存放用于系统引导时使用的各种文件
- tmp:(temporary)用于存放各种临时文件
- var:(variable)用于存放运行时需要改变数据的文件
切换目录命令 — cd
- cd app:切换到app目录
- cd ..:切换到上一层目录
- cd /:切换到系统根目录
- cd ~:切换到用户主目录
- cd -:切换到上一个所在目录
列出文件列表
- ls(list)是一个非常有用的命令,用来显示当前目录下的内容。配合参数的使用,能以不同的方式显示目录内容。
- 格式:ls[参数] [路径或文件名]
常用:
在linux中以.
开头的文件都是隐藏的文件
- ls:
- ls -a:显示所有文件或目录(包含隐藏的文件)
- ls -l:缩写成ll
创建目录和移除目录命令 — mkdir、rmdir
- mkdir(make directory)命令可用来创建子目录。
- mkdir app:在当前目录下创建app目录
- mkdir -p app2/test:创建多层级目录app2/test
- rmdir(remove directory)命令可用来删除“空”的子目录
- rmdir app:删除app目录
浏览文件
【cat、more、less】
- cat
- 用于显示文件的所有内容
- 格式:cat 文件名
- more
- 一般用于要显示的内容会超过一个画面长度的情况。
- 按空格键显示下一个画面。
- 回车显示下一行内容。
- 按q建退出查看。
- 举例:
- more yum.conf
- 空格显示下一页数据 回车显示下一行的数据
- less
- 用法和more类似,不同的是less可以通过PgUp、PgDn键来控制。
- 案例:
- less yum.conf
- tail
- tail命令是在实际使用过程中使用非常多的一个命令,它的功能是:用于显示文件后几行的内容。
- 用法:
- tail - 10 /etc/passwd:查看后10行数据
- tail -f catalina.log:动态查看日志(*)
- Ctrl + C结束查看
文件操作
【rm命令】
- rm:删除文件
- 用法:
- rm a.txt 删除a.txt文件(创建文件touch a.txt)
- 删除需要用户确认,y/n
- 用法:
- rm:删除不询问
- rm -f a.txt:不询问,直接删除
- rm:删除目录
- rm -r a:递归删除
- 不询问递归删除(慎用)
- rm -rf a:不询问递归删除
- rm -rf *:删除所有文件
- rm -rf /*:删除根目录下所有文件(自杀)
- rm:删除文件
【cp、mv命令】
- cp(copy)命令可以将文件从一处复制到另一处。一般在使用cp命令时将一个文件复制成另一个文件或复制到某目录时,需要指定源文件名与目标文件名或目录。
- cp a.txt b.txt:将a.txt复制为b.txt文件
- cp a.txt ../:将a.txt文件复制到上一层目录中
- mv:移动或者重命名
- mv a.txt ../:将a.txt文件移动到上一层目录中
- mv a.txt b.txt:将a.txt文件重命名为b.txt
- cp(copy)命令可以将文件从一处复制到另一处。一般在使用cp命令时将一个文件复制成另一个文件或复制到某目录时,需要指定源文件名与目标文件名或目录。
【tar命令】
tar命令位于/bin目录下,它能够将用户所指定的文件或目录打包成一个文件,但不做压缩。一般Linux上常用的压缩方式是选用tar将许多文件打包成一个文件,再以gzip压缩命令压缩成xxx.tar.gz(或称为xxx.gz)的文件。
常用参数:
- c:创建一个新tar文件
- v:显示运行过程的信息
- f:指定文件名
- z:调用gzip压缩命令进行压缩
- t:查看压缩文件的内容
- x:解开tar文件
- 打包:
- tar -cvf xxx.tar ./*:将当前目录打包为xxx.tar文件
- 打包并且压缩:
- tar -zcvf xxx.tar.gz ./*:将当前目录打包并且压缩
- 解压:
- tar -xvf xxx.tar
- tar -xvf xxx.tar.gz -C /user/aaa
【grep命令】
- 查找符合条件的字符串
- grep lang anaconda-ks.cfg:在文件中查找lang
- grep lang anaconda-ks.cfg -color:高亮显示
- 查找符合条件的字符串
其他常用命令
- 【pwd】:显示当前所在目录
- 【touch】:创建一个空文件
- touch a.txt
- 【ll -h】:友好显示文件大小
- 【wget】:下载资料
Vi和Vim编辑器
在Linux下一般使用vi编辑器来编辑文件。
vi即可以查看也可以编辑文件。
三种模式:命令行、插入、底行模式。
切换到命令行模式:按Esc键;
切换到插入模式:按i,o,a键;
- i:在当前位置生前插入
- I:在当前首行插入
- a:在当前位置后插入
- A:在当前行尾插入
- o:在当前行之后插入一行
O:在当前行之前插入一行
使用说明
- 打开文件:vi a.txt
- 退出文件:
- esc –> :q【退出】
- esc –> :wq【保存并退出】
- esc –> :q!【不保存退出】
- 修改文件:
- 输入i进入插入模式
- 3种进入插入模式:
- i:在当前的光标所在处插入
- o:在当前光标所在的行的下一行插入
- a:在光标所在的下一个字符插入
- 快捷键【按下esc之后录入】:
- dd:快速删除一行
- R:替换
重定向输出
>
重定向输出,覆盖原有内容;>>
重定向输出,在原有内容基础上追加输出内容- 示例
- cat /etc/passwd > a.txt:将输出定向到a.txt中
- cat /etc/passwd >> a.txt:输出并且追加
- ifconfig > ifconfig.txt:将ifconfig命令结果输出
管道
- 管道是Linux命令中最重要的一个概念,其作用是将
一个命令的输出作用另一个命令的输入。 示例:
- ls –help | more:分页查询帮助信息
ps -ef | grep java:查询名称中包含java的进程
ifconfig | more:分页查看网关信息
- cat index.html | more:分页查看index.html信息
- ps -ef | grep aio:查看名包含aio的进程
&&命令执行控制
- 命令之间使用&&连接,实现逻辑与的功能。
- 只有在&&左边的命令返回,&&右边的命令才会被执行。
- 只要有一个命令返回假,后面的命令就不会被执行。
- mkdir test && cd test
网络通讯命令
- ifconfig:显示或设置网络设备
- ifconfig:显示网络设备
- ifconfig eth0 up:启用eth0网卡
- ifconfig eth0 down:停用eth0网卡
-ping:探测网络是否通畅。 - ping 192.168.0.1
- netstat:查看网络端口。
- netstat -an | grep 3306:查询3306端口占用情况。
系统管理命令
- date:显示或设置系统时间
- date:显示当前系统时间
- date -s“2014-01-01 10:10:10”设置系统时间
- df:显示磁盘信息
- df -h:友好显示大小
- free:显示内存状态
- free -m以mb单位显示内存组昂头
- top:显示,管理执行中的程序
- clear:清屏幕
- ps:正在运行的某个进程的状态
- ps -ef:查看所有进程
- ps -ef | grep ssh:查找某一进程
- kill:杀掉某一进程
- kill 2868:杀掉2868编号的进程
- kill -9 2868:强制杀死进程
- du:显示目录或文件的大小
- du -h:显示当前目录的大小
- who:显示目前登录系统的用户信息。
- hostname:查看当前主机名
- 修改:vi /etc/sysconfig/network
- uname:显示系统信息
- uname -a显示本机详细信息
- 依次为:内核名称(类别),主机名,内核版本号,内核版本,内核编译日期,硬件名,处理器类型,硬件平台类型,操作系统名称。
Linux的用户和组
- 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目录。
组管理
- 当在创建一个新用户user时,若没有指定他所属于的组,就建立一个和该用户同名的私有组。
- 创建用户也可以指定所在组。
- groupadd:创建组
- groupadd public:创建一个名为public的组
- useradd u1 -g public:创建用户指定组
- groupdel:删除组,如果改组有用户成员,必须先删除用户才能删除组。
- groupdel public
id、su命令
- 【id命令】
- 功能:查看一个用户的UUID和GID
- 用法:
- id:查看当前用户
- id test:查看test用户
【su命令】
- 功能:切换用户
- 用法:
- su - ul切换到ul用户,并且将环境也切换到ul用户的环境(推荐使用)
【账户文件】
- /etc/passwd:用户文件
- /etc/shadow:密码文件
- /etc/group:组信息文件
Linux的权限命令
- 【文件权限】
- 文件10个字符标识的意思
- 例如:-rwxrwxr–
- 第一个
-
:表示文件类型 - 第2、3、4字符:表示当前用户的权限
- 第5、6、7字符:表示当前用户的组权限
- 第8、9、10字符:表示其他用户的权限
- 第一个
- 例如:-rwxrwxr–
- r:权重4
- w:权重2
- x:权重1
- 文件10个字符标识的意思
- 【Linux三种文件类型】
- 普通文件(-)
- 目录(d)
- 符号链接(l)
- 进入etc可以查看,相当于快捷方式
- 字符设备文件(c)
- 块设备文件(s)
- 套接字(s)
- 命名管道(p)
- 【文件权限管理】
- chmod变更文件或目录的权限
- chmod 755 a.txt
- chmod u=rwx,g=rx,o=rx a.txt
- chmod 000 a.txt / chmod 777 a.txt
- chown:变更文件或目录改文件所属用户和组
- chown ul:public a.txt:变更当前的目录或文件的所属用户和组
- chown -R u1:public dir:变更目录中的所有子目录及文件的所属用户和组
- chmod变更文件或目录的权限