电脑宕机了,经过两天的紧急抢救,继续学习
1.linux目录结构
linux只有一个目录,即,根目录。其子目录包括:
usr:相当于Windows系统的program files;
etc:存放系统配置文件;
root:系统管理员,默认目录;
home:存放其他用户的目录。
2.linux的核心操作命令
linux有两种用户,一种是管理员,一种的游客。Root用户登录到linux默认所在的目录是“/root/”,其他用户如lisi登录到linux默认所在目录为"/home/lisi/"
2.1 常用命令
2.1.1 ls命令
ls(list)功能:列出目录内容,格式为ls[参数][文件或目录]
-a或--all:显示所有文件和目录。注意:隐藏文件、特殊目录、.和..
-l:使用详细格式列表
-t:用文件和目录的更改时间排序
-r:反向排序
-help:在线帮助
常用命令
ls -al:以详细列表形式展示所有文件和目录。
ll/home/:显示根目录下home文件件内的文件和目录
2.1.2 cd命令
cd(change directory)切换目录,语法:cd[目录]
cd '':当前用户目录
cd /:根目录
cd -:上一次访问的目录
cd ..:上一级目录
cd:缺省当前用户目录
2.1.3 pwd命令
pwd(print working directory)显示工作目录
[***@**** ~]# cd /root/work/
[***@**** work]# pwd
显示:
/root/work
2.1.4 mkdir命令
mkdir(make directory)创建目录
-p:父目录不存在的情况下先生成父目录;
-v:显示命令执行过程中的详细信息
2.2 文件管理——文件浏览
2.2.1 cat命令
cat(catenate)显示制定文本文件内容,格式为:cat 文件
2.2.2 more命令
more命令:分页显示文件内容,支持直接跳转行等功能;语法: more file;
Enter:向下n行,需要定义,默认为1行;
空格键:向下滚动以屏,或Ctrl+F;
B:返回上一屏,或Ctrl+B;
q: 退出more;
2.2.3less命令
less命令:分页显示文件内容,操作详细。语法:less[参数] 文件
-m:显示类似more命令的百分比;
-N:显示每行行号;
空格键:前进一行;
b:后退一页;
d:前进半页;
u:后退半页;
回车键:前进一行
y:后退一行
/字符串:向下搜索
?字符串:向上搜索
v:进入cim编辑器
左右方向键:相当于水平滚动
q:退出
2.2.4 tail命令
用于显示文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。格式为:tail[必要参数][选择参数][文件]
-n:显示行数;
-f:循环读取;
&:表示后台运行,否则使用终端
ctrl+c:退出
2.3 文件操作——文件操作
2.3.1 cp命令
cp(copy):复制文件或者目录,语法:cp[参数][源文件或目录][目标文件或目录]
-r(rescursive):递归处理,将指定目录下的文件与子目录一并处理
案例:复制文件
cp ip.log ip2.log:
将ip.log复制给ip.log2,如果ip.log2不存在,创建ip.log2文件;
cp ip.log ip2.log:
当ip.log2已经存在文件夹内,则将原有的ip.log2覆盖;
cp -b ip.log ip2.log:
将ip.log复制给ip.log2,当ip.log2已经存在文件夹内,则将原有的ip.log2备份(备份后文件名为ip.log2~),并生成新的ip.log2文件;
cp ./install.log ../:
将当前目录下的install.log复制到父目录;
cp /root/install.log /bin/1.txt:
将/root下的install.log文件复制到根目录下的bin目录下的1.txt中
案例:复制目录
cp ./abc ./***:
此时无法完成复制目录;
cp -r ./abc ./***:
复制目录但是必须使用-r参数
cp -r ./a ./b:
将当前目录下的a目录复制到当前目录下的b目录
cp -r /rrot/a /rrot/z
将root目录下的a目录复制到root目录下的b目录
2.3.2 mv命令
mv(move)移动或更名现有的文件或者目录。语法:mv[源文件或者目录][目标文件或者目录]
-f或--force:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有文件或目录。
案例
mv /root/install.log /root/a/1.txt:
将root目录下的install.log1剪切到root/a目录下,名字改为1.txt;
mv /root/install.log /root/test.log:
重命名文件;
2.3.3 rm命令
rm命令:删除文件
rm -f 文件名称
rm -f /root/文件名称
删除目录
rm -rf 目录名称
rm -rf /root/目录名称
2.3.4 find命令
find命令:查找文件或目录
find -name:指定字符串作为寻找文件或目录的范本样本
案例
find /root/ -name 'in*':
在根目录下的rrot目录下寻找名称中包含in而且是以in开头的文件/目录;
3 文档编辑
3.1 vi或vim命令
3.1.1 基本操作
1.输入"vim 文件名"进入“一般模式”;
2.按下"i"从一般模式进入"插入模式";
3.按下"esc"从插入模式退出到一般模式;
4.在一般模式下,输入":wq"退出编辑。
3.1.2 模式
1.命令行模式(command mode}: 控制屏幕光标的移动、字符、字或行的删除,移动复制某区段及进入insert mode下,或者到Last line mode;
2.插入模式(insert mode): 只有在insert mode下才可以做文字输入,按[esc]键可以会带命令行模式;
3.底行模式(last line mode):将文件退出vi或保存,也可以设置编辑环境,如寻找字符、列出序号等
3.1.3 常用命令
插入命令
i:在光标前插入
shift+i:在光标当前行开始插入
a:在光标后插入
shift+a:在光标当前行末尾插入
o:在光标当前行的下一行插入新行
shift+o:在光标当前行的上一行插入新行
复制或粘贴
yy:单行复制,将光标移动到想要复制的行处
nyy:多行复制,将光标移动到想要复制的行首处,n为行数;
p:粘贴,将光标移动到想要粘贴的行处
定位
gg:到文本第一行行首;
shift+g:到文本最后一行的行首
删除
dd:删除光标所在行;
ndd:删除n行;
退出
:q:退出vi(没有做任何修改时)
:q!:强制退出不保存
:w:保存不退出
:wq:保存后退出
3.2grep命令
grep(global regular expression print):表示全局正则表达式版本,用于过滤/搜索的特定字符,可使用正则表达式能多种命令配合使用。格式:grep[option]pattern[file]
-i或--ignore-case:忽略字符大小写的差别
3.3 管道命令
命令1 | 命令2:命令1的输出是命令2的输入。
联合使用方法
cat /root/install.log | grep -i mysql:查看install.log文件中包含mysql内容信息
ps -ef:相当于任务管理器,对进城的一次查看
ps -ef | grep -i crond:查看系统中crond的进程信息
4 系统命令
4.1 ps命令
ps命令提供对进程的一次性查看。及执行ps命令的那个时刻的进程信息。格式为ps[参数]
-e:参数的效果和制定"A"参数相同,显示所有程序;
-f:显示UID,PPIP,C与STIME栏位
案例
ping 127.0.0.1 > ip.long &
ps -ef | grep -i ping
4.2 kill命令
删除执行中的程序或工作。kill[参数][程序]
-l:若不加信息编号,则-l参数会列出全部信息名称
kill -9:强制终止
kill -9 pid;
4.3 ifconfig
用于显示网络设备。
4.4 ping命令
用于测试与目标主机的连通性;
ping 主机名或ip地址
5.备份压缩:tar命令
文件压缩和解压缩。
tar -zcvf /root/xxx.tar /root/a/:
将/root/a/目录下的所有文件全部压缩为/root/目录下的xxx.tar文件;
tar -zxvf ./xxx.tar:
解压缩当前目录下的xxx.tar文件。
6.关机重启
重启命令:reboot
关机命令:halt 立即关机
7.文件权限:chmod命令
chmod(change mode):变更文件或目录的权限。
-R或--recursive:递归处理,将指定目录下的所有文件及子目录一并处理
权限范围表示法
u:User,文件或目录的所有者
g:Group,文件或目录的所有群组
o:Other,处理文件或目录拥有者和所属群组外,其他用户均属于这个范围
a:All,所有用户
符号
+添加权限
-取消权限
权限代号
r:读取权限,数字代号4
w:写入权限,数字代号2
x:执行或切换权限,数字代号1
-:布局任何权限,数字代号0
案例
mkdir xxx
ll | grep xxx
chmod u-rwx xxx:取消xxx目录,用户“读写执行”权限
chmod g-rwx xxx:取消xxx目录,组“读写执行”权限
chmod 777 xxx:给xxx目录添加所有权限
linux权限格式为:
如-rwxrw-r--
第1位:文件类型(d目录,-普通文件,l链接文件)
第2-4位:所属用户权限,用u表示;
第5-7位:所属组权限,用g表示;
第8-10位:其他用户权限,用o表示
第2-10位:表示所有权限,用a表示
8.网络配置
查看网卡配置
cat/etc/sysconfig/network-scripts/ifcfg-eth0
概要信息
DEVICE=eth0 网卡名称
TYPE=Ethernet 网卡类型
ONBOOT=yes 是否开机启动网卡
BOOTPROTO=static 静态获取IP,其他取值为"dhcp",如果取该值,下面的配置不再需要;
IPADDR=192.168.44.100 ip地址
GATEWAY=192.168.44.2 网关
NETMASK=255.255.255.0 子网掩码
9.linux系统中安装jdk
9.1 删除系统中自带jdk
由于linux系统自带的jdk往往版本比较老旧,因此需要将自带版本删除。
9.2查看linux上是否存在已安装好的JDK
使用javac/java –version等命令,如果返回一些java相关信息,说明系统中存在jdk。
rpm -qa | grep java
使用上面代码查看本机上所有已经安装成功的软件,只查看和java相关的
9.3删除linux自带jdk
使用rpm -e --nodeps命令删除软件
rpm -e --nodeps ***
其中,***为查看到的java版本。
9.4导入安装包
在/usr/local/src创建java、mysql和tomcat三个文件夹
mkdir /usr/local/src/java
mkdir /usr/local/src/mysql
mkdir /usr/local/src/tomcat
使用FileZilla软件,向三个文件夹内分别导入jdk、mysql和tomcat的安装包
9.5 软件安装
打开java文件夹
cd /usr/local/src/java
将jdk压缩包进行解压
tar -zxvf ***
***为jdk版本
安装依赖包(需要联网):
yum install glibc.i686
9.6 配置环境变量
编辑配置文件
vim /etc/profile
在末尾行添加
#set java environment
JAVA_HOME=/usr/local/src/java/jdk1.7.0_71
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
保存退出
esc
:qw
使更改的配置立即生效
source /etc/profile
验证是否安装成功
java -version
10.linux系统安装tomcat
打开tomcat文件夹
cd /usr/local/src/tomcat
解压tomcat对应压缩包
tar -zxvf ***.tar.gz(***为版本号如:apache-tomcat-7.0.57.tar.gz)
将解压缩之后的文件夹重命名为tomcat
mv ***(***为版本号如:apache-tomcat-7.0.57) tomcat
启动tomcat
cd itcast-usermanage/bin/
./startup.sh 或者 sh startup.sh
查看日志
tail -f ../logs/catalina.out
防火墙打开 8080 端口
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
/etc/rc.d/init.d/iptables save
查看效果
登录http://192.168.0.160:8080/,其中,192.168.0.160为SecureCRT软件左上角的地址
11 linux下安装mysql
11.1 安装步骤
检测系统内是否自带mysql
rpm -qa | grep mysql
卸载软件
rpm -e --nodeps ***(版本号如:mysql-libs-5.1.73-5.el6_6.i686)
在tomcat文件夹解压缩安装包
cd /usr/local/src/mysql
tar -xvf ***(版本号如:MySQL-5.6.22-1.el6.i686.rpm-bundle.tar)
安装依赖
yum -y install libaio.so.1 libgcc_s.so.1 libstdc++.so.6
yum update libstdc++-4.4.7-4.el6.x86_64
yum -y install libncurses.so.5 libtinfo.so.5
安装serve
rpm -ivh MySQL-server-5.6.22-1.el6.i686.rpm
安装client
rpm -ivh MySQL-client-5.6.22-1.el6.i686.rpm
启动mysql服务
service mysql start
查询mysq服务运行状态
service mysql status
查找mysql初始密码
cat /root/.mysql_secret
登录mysql
mysql -uroot -p******
更改初始密码
SET PASSWORD = PASSWORD('******');
11.2系统启动时自动启动mysql服务
以下操作均处于非mysql环境下执行。
加入到系统服务
chkconfig --add mysql
自动启动
chkconfig mysql on
查询列表
chkconfig
说明:2/3/4/5项均为启用状态。
11.3开启远程访问
登录mysql
mysql -uroot –p******
使用root和密码设置远程访问
grant all privileges on *.* to 'root' @'%' identified by '******';
flush privileges;
防火墙打开3306端口
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
将打开的端口的访问规则保存在文件中
/etc/rc.d/init.d/iptables save
查看机器开放的端口号
/etc/init.d/iptables status
一般为3306
Winston已经开通微信公众号,不方便刷知乎的朋友,可以换为关注公众号:java零基础入门学习