Linux系统的简单介绍
Linux是一款免费的操作系统,用户可以通过网络或者其他途径免费获得,并可用任意修改其源代码。这是其他的操作系统所做不到的。
特点:
1,完全免费
2,多用户,多任务
3,支持多种平台
入门须知:
1,linux命令是区分大小写的,如果没有特别的说明,保持小写
2,命令之间是有空格的,不要挤在一块
3,命令不是语文,背背就好,而是需要我们动手去敲,每天每个命令敲十遍,到最后,你自己能背出来这些命令是干啥的就好了。
4,自我学习能力:命令有很多,这里教大家工作中常用的。如果以后工作了,命令忘记了,有的可以翻看笔记,也可以自己百度
新手须知
1,错误提示:command not found,命令没有找到,看到这个命令第一反应应该是去检查命令是不是写错了(应该是ifconfig:获取虚拟机地址)
PS:
Ctrl+c 结束当前正在运行的程序
tab键 使用,自动关联,快速补齐
方向键“上”,"下“,对历史命令,上一个,下一个进行查找,
2,xshell连接不上:
①,ip地址变了
②,防火墙未关闭
3,乱码
编码格式改为UTF-8
4,xshell和xftp是什么?
连接虚拟机,这样就可以直接操作了,免去切换的麻烦
登录成功显示:
@是固定符号,root表示当前登录用户名(root是超级管理员),@后面的192表示主机名,“~”表示当前用户的主目录,因为每个用户都有自己的个人目录地址,所以用 ~ 作为统一替代这个根据用户不同而不同但有规可循的地址,来保证某些情况下的兼容问题
系统管理相关命令
1,su:(switch user)在不退出登陆的情况下,切换到另一个用户的身份。
管理员账号切换为普通用户账号无需输入密码,普通用户切换管理员需要输入密码
#超级用户提示符
$普通用户提示符
5,uname -a查看系统的位数(Unix name系统名称)
x86_64:64位系统
i386之类i开头的:32位系统
6,ifconfig:显示网卡信息--查看虚拟机的IP地址
7,ping:测试网络连通情况
ping+ip地址/域名
8,date:显示日期
修改时间:date -s 时间或者日期
9,kill:杀死进程(kill -进程号 ,如kill -9 强制杀死进程)
10,pwd:print working Directory 打印当前所在目录
11,cd命令 切换目录(change directory)
用法:cd 目录路径
cd /usr/etc(“/”表示系统根目录,要查看文件,首先需要从根目录进入,才能查看,就像是要查看d盘的一个文件,要先进入d盘。就是说往上级要带/,往下级不需要带/)
12,mkdir 创建目录(make directory)
用法:mkdir 目录名
创建(mkdir 目录名)并查看(ll)
13,rmdir 删除空目录(remove directory)
用法:rmdir 目录名
也可用:rm -rf 目录名(目录/文件都可以删除,空的和非空的都可以删除)
14,touch:新建文件
用法:touch lemon.txt(后缀可随意格式)
15,vi:是linux下常用的,功能强大的文本编辑器
调用方法:vi a.txt(如果a.txt不存在,则创建,保存退出则创建成功)
按键盘i(insert)进入编辑状态
退出编辑按ESC键,退出方法:
不保存退出: :q!
保存退出: :wq(write and quit)
输入/,进入搜索,输入你需要搜索的文字,按enter
输入":set nu",显示每一行的行数
按键盘G定位到最后一行,g定位到第一行
按键盘u撤销上一次的命令
注意:键盘输入,都是英文输入法进行输入
在linux系统中,几乎所有内容包括文档,命令,设备和目录等都组织成文件的形式,用文件来管理,常用的文件命令有:
16,ls查看目录及文件(list列出目录内容)
用法:ls[选项]<路径>(若没有路径则显示当前目录的内容)
-a 显示所有文件,包含隐藏的文件
-l 显示文件属性(等同ll命令)
17,cp 复制命令(copy复制黏贴)
用法:cp[选项,可选可不选]<文件名或目录><目标地址>(只复制当前目录,不包括目录下的子文件)
-R 拷贝目录及目录下所有目录和文件(复制当前目录和目录下子文件)
cp a.txt b.txt 将a文件复制,且另命名为b文件(目录名)
18,mv 移动命令(move,类似于剪切黏贴)
用法:mv[选项]<文件名或目录><目标地址>
mv a.txt../ 将a文件移动到上级目录
mv a.txt b.txt 将a文件改为b文件(目录名更改)
19,rm 删除文件或目录(i:操作时进行查询,rm -i等同rm)
-f 强制删除
-r 删除目录
常用:rm -rf 文件或目录
20,find命令查找文件
用法:find[路径][选项]关键字
常用选项有:
find.-name *.log 在当前目录查找以.log结尾的文件
find /-name log 在根目录查找log命名的目录,
21,grep命令(检索目标行命令)
功能:过滤,在指定文件中查找字符(串)并打印该行;经常跟管道符号“|”配合使用
用法:grep 字符串 文件名
grep band file 在file文件中寻找band字符串
22,cat:一次显示整个文件(Concatenate 串联)
用法:cat 文件名 cat filename
23,more:用于显示内容超过一屏的文件
用法:more 文件名 (只能往后翻,用空格键往后翻一页,回车键一行行下翻)
24,less:用于显示内容超过一屏的文件
用法:less 文件名
(可以往前往后翻,空格键往后翻一页,回车键一行行下翻,按下b键往上翻一页,按Q结束)
25,head:查看前几行 用法:head -n 5 文件名(查看前五行信息
26,tail (尾部)从指定点开始将文件写到标准输出,使用tail命令的-f选项可以方便的查阅正在改变的日志文件
tail -n 5 文件名 查看后几行
tail -f error.log 不断刷新,看到最新内容
管道符号
管道使用“|"符号,并且在命令之间建立管道,将前面命令的输出作为后面命令的输入
如,ll |grep abc(前面是字母L的小写)
管道前面的命令显示当前目录下的文件,后面从列出的文件名中寻找含有abc字符串
工作常见情况
①杀死服务进程
ps -ef|grep tomcat(Process Status 进程状态,-e:显示所有程序,-f :显示uid,ppid,c与stime栏位)
kill -9 pid(服务停止后前端是访问不了的)
②查看端口占用,干掉这个程序
netstat -apn|grep 8080 查找出对应的进程名及pid
ps -aux|grep 进程名 查找被哪个程序占用
kill -9 pid 干掉这个程序
③查看实时日志 指定查看关键字信息
tail -f error.log|grep 用户id
系统资源查询
ps查看进程(Processes Status动态)
-aux 显示系统所有进程,包含其他使用者的进程
user 进程拥有者pid:进程id%cpu:cpu占比例,%mem:内存占用率
vsz:占用的虚拟内存大小,rss:占用内存大小,tty:终端号,stat:进程状态(s 中断,sleeping)
start:进程开始的时间,time:执行的时间,command:所执行的命令
-ef 显示所有运行进程,并显示启动进程的命令
Uid:用户ID,PID:进程id,PPID:父进程,C:进程cpu占有率,Stime:进程启动的时间
TTY:终端号,CMD:命令名称和参数
netstat 在内核中访问网络及相关信息的命令(net status的简写)
netstat -apn 查看所有端口
netstat -tulpn(更推荐使用这个,显示网络连接数量最少,同时显示最有价值的信息) / netstat -ano
top查看进程(动态,cpu,内存使用情况,按使用资源情况排序:性能监控命令)
PR:优先级;NI:nice值,nice值为正表示优先级低,负值表示优先级高;
VIRT:进程使用的虚拟内存总量;RES:进程使用的,未被换出的物理内存大小;
SHR:共享内存大小;S:进程状态;TIME+: 进程使用的CPU时间总计;COMMAND:命令名/命令行。
权限赋予命令
数字表示法:4-读(r,read),2,-写(w write),1-执行(x,execute)
将这几个数字任意两个或者三个相加可得到相应的多种权限
如,6-读写,3-写的执行,7-读,写,执行
例:chmod 600 filename 为用户自己增加读写权限,其他任何用户没有任何权限。其中
第一个位置的值6是用户自己的权限为读写,第二个位置的0代表所属用户所在组内用户没有权限,第三个位置的0代表所在组之外其他用户没有权限
chmod 777-R 文件及目录名(表示更改三个所属组的权限)
-R表示遍历文件夹下面所有的子目录以及文件
chmod是赋值符(Change mode 改变模式)
0表示没有权限
chown:更改对应文件或目录的属主或用户组
具体命令:# chown 新属主账户名:组名 目录名--> # chowm d1:developer dev-document
调整文件的访问权限;
$ vim code.md --> 创建文本文件
命令:$ chmod 770 code.md
让一个用户拥有两个以上用户组的方法:命令:# usermod -G developer,testor d1 (修改用户组时会先将之前的用户组删掉,重新分配)注意,修改用户的用户组后,需要退出重新登录。切换用户组命令:$ newgrp testor
安装命令
yum自动下载安装(前提:能访问外网,可以先ping下:ping www.baidu.com)
Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
yum[操作][package]
如:yum -y install mysql-server
rpm安装
rpm -ivh软件包名 (ivh:安装显示安装进度)
rpm -ivh MySQL-server-4.0.14-0.i386.rpm
解压命令
tar(Tape archive 解压文件)
-c 建立压缩档案
-x 解压
-z (有gzip属性)-j(有bz2属性)-Z(有compress属性的)
-v 显示所有过程
-f 使用档案名字,必须项,是最后一个参数,接文件名
解压 tar -zxvf abc.tar.gz(常用形式)将abc.tar.gz解压到当前目录
压缩tar -zxvf test.tar.gz. test 将test目录压缩为test.tar.gz
总结
*.tar用tar -xvf解压
*tar.gz和*.tgz用tar -xzvf解压
*.gz用gzip -d或者gunzip解压
*.zip用unzip解压
关闭防火墙
1. 防火墙是借助硬件和软件对内外部网络环境的保护措施
2. centos7基于firewall实现应用层防火墙,功能更加强大。centos6基于iptables
即时生效,重启后失效
centos7命令:
firewall -cmd是firewall的核心命令
查看防火墙状态:firewall-cmd --state
查看防火墙允许的端口号:firewall-cmd --list-ports
采用tcp方式进行通信时,设置防火墙允许访问的端口号是8080 : firewall-cmd --zone=public --permanent --add-port=8080/tcp
zone:访问区域:防火墙默认区域,表示都允许访问
permanent :表示永久进行变更
add-port:添加端口号
对防火墙进行配置重载 : firewall-cmd --reload(永久变更的都需要有这一步操作,无论添加还是移除!!)
查看允许访问的端口号: firewall-cmd --list-ports
放行已有单个端口号: firewall-cmd --zone=public --permanent --remove-port=8080/tcp
放行范围内的端口号:firewall-cmd zone=public --permanent --remove-port=8000-9000/tcp
下面基于centos6:
开启:service iptables start
关闭:service iptables stop
永久关闭防火墙(输入这个以后还需要做其他设置,有时候也会出现重启后失效的情况)
开启:chkconfig iptables on (其他设置)
关闭:chkconfig iptables off
重启和关闭命令
重启命令:reboot
# reboot
其它还有:shutdown -r now
关机命令:halt
其它:shutdown -h now(推荐)
poweroff
强制执行某个操作 sudo
sudo mkdir xxx
查询 man
man ls