目录
- 第1章-零散命令
- 第2章-ls命令
- 第3章-cd命令
- 第4章-cat命令
- 第5章-文件重定向
- 第6章-mkdir命令
- 第7章-rmdir和rm命令
- 第8章-cp命令
- 第9章-mv命令
- 第10章-less命令
- 第11章-more命令
- 第12章-touch命令
- 第13章-nano命令
- 第14章-su和sudo命令
- 第15章-top命令
- 第16章-ps和kill命令
- 第17章-echo命令
- 第18章-文件使用chmod命令
- 第19章-目录使用chmod命令
- 第20章-chmod后面使用数字来表示权限
- 第21章-第一个bash脚本
- 第22章-which和whatis命令
- 第23章-useradd和passwd命令
- 第24章-userdel命令
- 第25章-group基本操作命令
- 第26章-.bashrc和.zashrc文件作用
- 第27章-查看资源相关命令(df/du/free)
- 第28章-watch命令
- 第29章-head和tail命令
- 第30章-find命令
- 第31章-wc命令
- 第32章-cal命令
- 第33章-date命令
- 第34章-如何在一个终端一次运行多个命令
- 第35章-ifconfig命令
- 第36章-tar压缩包和解压命令
- 第37章-grep命令
- 第38章-netstat命令
- 第39章-apt-get命令
- 第40章-历史命令
- 第41章-关机、重启
- 第42章-vi使用方法
- 第43章-VMware虚拟机中如何配置静态IP
- 第44章-Liunx+jdk+tomcat部署
- 第45章-防火墙设置以及端口设置
第1章-零散命令
环境:redhat 7
1.pwd 当前目录
2.Tab键补全命令,例如输入ca,点击Tab键,补全为cat
3.chown root filename(把文件的所有者改为root帐号);chown -R root A(把文件夹的所有者改为root帐号:)
第2章-ls命令
1.ls 显示目录下有什么文件
2.ls-a 显示全部文件,a是单词all的缩写
3.ls -l , 长格式显示文件信息,l 是单词Long的缩写,可以看到文件具体信息例如文件权限等
4.ls -lh (加上-lh参数显示文件大小:)
5.ls -al ,(列出所有文件并长格式显示,a显示全部文件)
6.ls / 显示根目录下文件清单,你不需要cd到根目录就可以直接查看它下的文件(与cd /;ls 显示的文件一样)
7.ls ~ , 波浪线,这个可以显示用户的家目录
8.ls ..(上一层) 和ls ../.. (上上一层)查看父目录的文件
9.ls -lS, 小写的L和大写的S,表示文件大小排序,S是size的意思
10.ls xxx/*.txt ,有点类似筛选 (文件目录XXX下的所有的txt文件显示出来)
11.ls -lS > out.txt (把ls信息写入out.txt文件)
12.ls -R (按目录层级显示,类似du)
13.ls -lt (通过修改时间列出,降序)
14.ls -b sbin (只看bin文件的信息)
第3章-cd命令
1.cd / (切换到根目录)
2.cd ~ (切换到家目录)
3.cd home(从根目录切换到home文件)
4 cd 后面跟着绝对路径(cd /home/admin)
5.cd .. 切换到当前目录的上一目录
6.cd 到带空格的文件夹(三种方式:cd 'my boot';cd "my boot";cd my\ boot)
第4章-cat命令
1.cat > 1.txt 回车键 输入111 回车 222 ctrl+d结束(cat新建1.tx文件)
2.cat 1.txt(查看1.txt文件)
3.cat 1.txt 2.txt(查看文件1.txt 与 2.txt 文件内容)
5. cat -b 1.txt(1.txt有三行,第一行第三行有内容,第二行为空,则显示1,2两个行号,第二行空无行号)
6. cat -n 1.txt(行数显示,空行也计算,如图1.txt空格也算一条共3条)
7. cat -E 1.txt(显示到每行结束部分,并在每行尾部显示$符号。)
第5章-文件重定向
1.cat >> 1.txt 回车输入内容333,ctrl+d结束(>>为追加内容,>第二次写入覆盖上一次的内容)
2.cat 1.txt > a.txt (把一个文件内容拷贝到一个新文件)
3.cat 1.txt 2.txt >> b.txt(把两个文件内容拷贝到一个新文件)
第6章-mkdir命令
1.mkdir 1 (新建文件1)
2.mkdir 1 2 3(创建多个文件 1 2 3)
3.mkdir -p fu/zi/sun(父目录和子目录一起创建)
注意:p参数表示父目录,对应英文单词parent
第7章-rmdir和rm命令
r
m是英文单词remove的缩写,rmdir就是remove directory的缩写。
1.rmdir 单个空文件夹(文件下有文件则无法删除)
2.rmdir -p a/b/c/d(abcd都为空文件)
3.rmdir -pv a/b/c/d(上面p代表父目录,v表示版本,通过v可以看到删除的历史记录,是一个一个目录删除,例如此执行只删掉d文件,abc文件未删除)
4.rm -r a文件(强制按层级确定删除(y)一个目录下所有文件和路径,a文件有内容也可以删除)
5.rm -rf a文件 (直接删除不提示)
第8章-cp命令
cp是英文单词copy的缩写,就是拷贝文件的意思。
cp的基本语法是:cp 参数 源文件路径 目的地路径
1.cp a/1.txt b/2.txt(把a文件下的1.txt 拷贝成b文件夹2.txt)
2.cp 1.txt kongbai(把1.txt 拷贝到一个空白的路径下)
3.cp 1.txt 2.txt kongbai(把1.txt 2.txt拷贝到一个空白的路径下)
4.cp -i 1.txt kongbai/1.txt(覆盖文件,需要用到参数 -i, i表示交互的意思,覆盖是需确认y)
5.cp -vR kongbai admin (cp -R kongbai admin 也可复制文件,只不过无提示而已,v表示有提示)
第9章-mv命令
mv是move的意思,中文就是剪切的意思。来练习下以下场景
1.mv 1.txt 2.txt(相当于重命名了文件,开始无2.txt文件)
2.mv 2.txt admin(把2.txt文件剪切到admin文件里,开始无2.txt文件)
3.mv -i 2.txt admin(把2.txt文件剪切到admin文件里,admin已有2.txt文件,加i表示需要y确认,然后覆盖)
4.mv a a1(这里相当于把文件夹a名称修改成a2)
5.mv -v 1.txt admin (这里-v,是英文单词verbose的缩写,表示解释这个命令执行之后发生了什么变化)
6.mv a/* b(把a目录下的所有文件移到b)
第10章-less命令
less命令很强大,主要是用来打开内容比较多的文本文件,less在这方面比vi编辑器还要速度快,原因是在于,less命令一次只会加载一部分文件内容到终端上,而vi编辑器一开始,就把这个大型的文档读入内存,加载特别慢。为了操作less命令,我找到了这个文件/bin/zgrep,这个当然不算大文件,内容也就几屏。来学习下less的基本使用。
1.less zgrep(打开大文件zgrep)
2.按行翻动:利用键盘向上向下箭头
键盘上的向上和向下箭头,点击一次向下简单,文件内容往下读取一行;点击一次向上箭头,文件内容,往上翻滚一行。
3.按屏翻动:page down 和 page up
利用键盘的page down 和page up来进行翻屏操作。点击一下page down,内容就向下翻一屏幕;点击一下page up内容就向上翻一屏,也可以用b来代替page up,b表示back,和page up效果一样。
4.利用g x行来翻到第几屏(g 开头 G结尾)
默认按下g,代表翻到第一屏。你可以g3,翻到第3屏,这里我没有试试这个文档一共能翻几屏。输入大写G,默认下翻到文件尾部,小写g,回到文件头部。
5.在less打开文件中,如何搜索(第一步 g 第二步 /字符 回车 n下一个结果,上一个结果)
假如你输入g回到文件开始部分,当前提示符是冒号,你输入/这个斜杠,代表进入搜索模式,然后输入你要搜索的字符,例如,输入字母a,然后回车,你会看到命中搜索结果的字符都颜色都白色选中状态标出,这个搜索次序,默认是从上往下搜索。如果想查下一个结果,你就输入n,n表示next。这里n表示下翻查看命中搜索结果,用b表示上翻查看命中搜索结果。
有时候,你现在在文件尾部,需要从下往上搜索,你可以输入?a,这里a表示你要搜索的关键字。
6. q退出less编辑环境。
我们知道less是more的反义词,它们两最大的区别就是less可以往回翻页。
第11章-more命令
1. 通过 more zgrep打开文件
可以看到,more命令是只显示一屏内容,当前我这边显示16%。
2. 通过空格键下翻内容(按百分比下翻)
按下一次空格键,内容下翻到27%。
3. more上翻内容b
我这边试了试,b能回退到16%。
4.q退出more环境。
第12章-touch命令
touch命令很简单,我们知道两个用法就可以。第一个是用来快速创建空文件,第二个是用来修改文件的时间戳。
1.touch 1.txt (创建1.txt文件)
2.touch 1.txt(已有1.txt,如果再一次touch,时间戳更新到执行的时间,内容不变)
第13章-nano命令
nano在redhat 的使用。
1.nano 1.txt(打开1.txt编辑)
下面有一排菜单,告诉你如何退出和如何保存,例如ctrl+o代表保存,ctrl+x代表退出nano环境。
第14章-su和sudo命令
su是英文单词switch user的缩写,sudo是supperuser do的缩写。
1. 没权限的时候,需要sudo mkdir aaa (sudo 为切换成功管理员权限)
2.su admin(切换admin用户)
第15章-top命令
TOP 在英文字典是都是顶部的意思,Linux 就把它用于最前面运行峰值较高的部分,并不是一个单词的缩写。top主要的作用就是用来查看CPU和内存的消耗。
1. 输入top.回车。
最上面一段是一个总体的消耗情况,下面这个列表是每个进程的消耗情况。%CPU代表CPU消耗,%MEM代表内存消耗。PID是进程的意思。
第二三行CPU情况:Cpu(s): 0.7 us(用户空间占用CPU百分比) 1.0% sy(内核空间占用CPU百分比)0.0% ni(用户进程空间内改变过优先级的进程占用CPU百分比)95.7% id(空闲CPU百分比)0.0% wa(等待输入输出的CPU时间百分比)
第四五行为内存信息:Mem: 1870760k total(物理内存总量)320628k used(使用的物理内存总量)1550132k free(空闲内存总量)
2.ctrl+c 退出top
3. 在top下按下s 输入5(表示5秒刷新一次数据,我建议你设置1.0,一秒刷新一次)
4. 在top中输入i(再次按下i,就回到top的正常界面,知道利用top查看CPU和内存消耗就可以了)
第16章-ps和kill命令
Linux下ps和kill的使用,ps是process status的缩写,kill在linunx中是杀进程的意思。就像windows,有时候那个程序没响应,你就可以去任务管理中删除那个没有响应的程序。
1.ps -ux(查看当前的激活的进程)
2.ps -aux(查看当前所有进程,a是all的意思)
3.ps -U root(查看root这个用户有关的进程)
4.通过ps -ux 找到这个设置面板的进程,然后kill掉(例如ps-ux 有进城1222 kill 1222)
5.强制杀进程: kill -9 pid
第17章-echo命令
Linux下echo命令,echo的作用就是,把文本输出到标准输出,例如终端。有点类似开发语言中的print语句。
1. echo的基本用法
echo “111” (打印111)
2. echo和变量的使用
x=“100”
echo “x=$x” (打印x=100)
3. echo -e 'XXX'处理字符转义的输出
echo -e "aaa \tbbb"
(打印aaa bbb)
echo -e "aaa \n bbb"
(打印aaa
bbb)
上面的\t表示制表符,就是一个tab输出的空格,\n表示换行符号。这个和开发语言中都是一样的。
第18章-文件使用chmod命令
chmod是change mode的缩写,是修改文件权限的一个命令。在全面介绍ls这篇文章,我们大致介绍了一下有关文件权限的概念,一个文件分别有三组权限:用户拥有者,用户组,其他。下面的介绍需要用到这点知识。
1. 通过ls -l(观察文件的具体权限)
-rw-r--r--. 1 root root 35 May 29 02:27 1.txt
第一个横杆-表示文件,如果是d表示目录。还有可能是l,表示链接。
第一组(rw-)表示用户拥有者权限,现在是有读写权限,没有执行权限。
第二组(r--)表示用户组权限,现在是有读权限,没有执行权限。
第三组(r--)表示其他权限,就是针对其他所有人,现在只有读的权限。
2. chmod u=x 1.txt (给用户拥有者指定唯一执行权限)
3. chmod g+x 1.txt(给用户组添加执行权限)
3. chmod o+x 1.txt (在其他权限添加可执行权限)
6. chmod ug=rwx 1.txt(把1.txt的用户拥有者和用户组都变成读、写、执行权限)
7. chmod ugo-rwx 1.txt(去除1.txt的用户拥有者和用户组都变成读、写、执行权限)
其实这个效果,还有chmod a-rwx 1.txt也可以实现,a表示all,这里等同u,g,o三组。
8. chmod u=rx,g-x,o+r 1.txt(分别设置三个组不同权限,逗号隔开)
命令chmod就是一个权限修改的命令,要记住三组权限,包括前后顺序。u代表用户拥有者,g代表用户组,o代表其他。权限的添加和删除,分别可以使用加号或者减号来完成。如果直接告诉一个组什么权限,可以直接用等号来实现,三组之间可以同时进行权限修改,用逗号隔开。
第19章-目录使用chmod命令
chmod在目录上的相关操作。
1. chmod u-w 123 (去掉目录123写入权限,例如就没法在文件中mkdir、cp、mv)
2. chmod u-r 123(去掉目录123读权限,无法ls -l 123)
3. chmod o-x 123 (去除执行权限,无法cd)
权限:root 有最高权限可随意chmod,admin只能chmod自建文件的权限。
第20章-chmod后面使用数字来表示权限
chomd 777 file.txt,就可以把这个文件的权限改成-rwxrwxrwx
第21章-第一个bash脚本
shell脚本,只是一堆命令的集合,which base打印出了我们bash的路径是 /bin/bash,这个路径我们待会需要写入到脚本文件。
1.which bash (进入bash路径)
2.cat > aa.sh (新增aa.sh)
cd abc (命令1:进入abc目录)
ls -l (命令2:目录详情)
3.chmod u+x aa.sh (增加执行权限)
4../aa.sh (执行shell)
所以,shell脚本就是很多简单的命令,通过一些控制语句和其他方法去执行复杂任务的命令集合。
第22章-which和whatis命令
which前面文章介绍过,就是告诉你相关程序的路径,whatis就是查询一个命令的含义。
1. which 命令
which cd
/usr/bin/cd
2.whatis命令练习
whatis cd
cd (1) - bash built-in commands, see bash(1)(bash内置命令,参见bash)
cd (1p) - change the working directory(改变工作目录)
第23章-useradd和passwd命令
创建用户和设置用户密码的命令,useradd是添加一个用户的命令,同样反过来写adduser也是可以的。passwd是对某一个用户进行密码设置。在使用者两个命令之前,
前面要加上sudo命令,因为做这些事情是需要管理员权限的(相当于root用户操作)。
1. useradd ywr -m -s /bin/bash -g users (ywr为用户名)
ywr目录就为用户ywr创建的家目录。
2.passwd ywr (ywr为用户名)
密码两次输入123456
3.adduser 用户名
上面做了两件事情,1验证useradd 命令带不带参数-m的区别,2验证adduser也可以创建命令,这里需要输入两次密码。
第24章-userdel命令
本文介绍删除用户命令userdel,前面文章介绍了如何创建用户,有创建就有删除。
1. sudo userdel 用户 (sudo 管理员权限,此条不会删除家目录)
2. sudo userdel -r 用户(cd ~查看家目录,删除用户的家目录)
第25章-group基本操作命令
如何创建一个组,如何添加一个组,如何添加用户的到组和如何把用户从组中删除。
1. groups(显示当前用户所在组)
2.cat /etc/grop(查看当前系统所有的组)
3.groupadd java(添加一个java组)
4.groupdel java(如何删除一个java组)
5.sudo gpasswd -a admin y3(添加用户admin到y3组)
6.sudo gpasswd -d admin y3 (如何把用户admin从y3组删除)
第26章-.bashrc和.zashrc文件作用
本文来介绍习.bashrc和.zashrc的作用,两个都是一样,两个文件里面的脚本都是作用在刚刚打开一个终端的时候。
1. 如何找到.bashrc和.zashrc文件(1.cd ~ 2.ls-a)
2. 用vi .bashrc编辑文件,最后底部添加如下语句,echo "da yin.bashrc file"
3.打开一个终端,显示如下开头显示“da yin.bashrc file”
第27章-查看资源相关命令(df/du/free)
前面有一篇文章介绍了利用top命令去查看CPU和内存消耗,今天继续介绍几个查看资源相关的命令,分别是df,du,free。
1. df 是显示磁盘使用情况
2. du是显示文件占用磁盘大小
3. free是查看内存使用情况
看看例子
1) df 是显示磁盘使用情况
userd 已用 available 可用 use% 已用 mounted 挂载点
这样看起来不人性化,这些数据是按照字节来计算的,看下面这个方法
2)df -h ,输入df -h 回车,h表示human readable,人类可读的意思
size 容量 userd 已用 auail 可用 user%已用 mounted 挂载点
3)du 是显示文件占用磁盘大小
同样有du -h
4)free 是查看内存使用情况
free也有参数,让大小看起来舒服
free -k (kb)
free -m (M)
free -g (G)
第28章-watch命令
watch命令,主要是一个设置刷新时间的命令,通过以下举例,你就会明白。
1.watch free -m (可以查看默认刷新内存的时间间隔是2秒)
3.watch -n 1 free -m (设置1秒刷新内存数据)
第29章-head和tail命令
本文介绍两个查看文件内容命令,有点类似less和more的感觉。一个是查看文件开始10行的内容命令:head;第二个是查看文件末尾最后10行的内容:tail.
1.head 文档 (显示前10行)
2.tail 文档 (显示后10行)
不带参数,默认是显示开始10行
3.两个命令都有参数-n表示具体显示多少行
head -n3 文档(前三行)
tail -n3 文档(后三行)
tail -f 文档(最后一段)
看到上面的绿色光标没,-f表示fllow的意思,当前是在这个文件里,没有退出文件,如果这是监控一个日志文件,该日志文件如果有实时数据写入,通过这个可以看到实时刷新最后10行数据。
第30章-find命令
本文介绍find命令,find就是用来查找文件用的
1. find /目录 -name 文件名
2.find /abc -name fff (abc文件目录下找fff文件)
3.find /目录 -name "*.txt" (目录下找到所有txt文件)
find -name "*.txt" -print 查找txt结尾的文件并输出到屏幕上
find /cmd ".sh" -print 查找/cmd目录下所有sh文件,并输出
find . -perm 755 -print 查找当前目录下权限为755的文件,并输出
find `pwd` -user root -print 查找当前目录下属主为root的文件,并输出
find ./ -group sunwill -print 查找当前目录下所属主是sunwill的文件
find /var -mtime -5 -print 查找/var目录下更改时间为5天内的所有文件
find /var -mtime +5 -print 查找/var目录下更改时间为5天以前的所有文件
find /var -newer "myfile1" ! -newer "myfile2" -print 查找/var目录下比myfile1新,但是比myfile2旧的所有文件。
find /var -type d -print 查找/var目录下所有目录
find /var -type l -print 查找/var目录下所有的符号链接文件。
find . -size +1000000c -print 查找当前目录下大于1000000字节的文件
find / -name "con.file" -depth -print 查找根目录下有无"con.file",若无则在其子目录中查找
find . -type f -exec ls -l {} \; 查找当前目录下是否有普通文件,若有则执行ls -l
第31章-wc命令
Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数、字数、行数,并将统计结果显示输出。
1.wc 1.txt
15 15 99 1.txt(行数为15、字符数15、字节数99)
4.wc带参数用法
命令参数:
-c 统计字节数。
-l 统计行数。
-w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。
-m 统计字符数。这个标志不能与 -c 标志一起使用。
-L 打印最长行的长度。
第32章-cal命令
cal是日历单词的缩写,来看看下面cal的常用用法。
1.cal 或者cal -1 (查看当前年月日份日历)
2. cal 2018 (显示2018一年日历)
3.cal 5 2018 查看201805月日历
4.cal -3 (查看最近三个月日历,当月前一个月与后一个月)
第33章-date命令
关于时间和日期命令date。
1. date (年月日时秒分星期)
2. date +%y%h%d(年月日)
3.date 一些常见参数
date +%D(日期)
date +%T(时分秒)
date +%H(时)
date +%M(分)
date +%S(秒)
date +%y(年)
date +%h(月)
date +%d(日)
4.date "+%y-%h-%d"(18-Jun-05)
date "+%y/%h/%d"(18/Jun/05)
5.date -s "5/24/2018 15:20:00"(date设置时间 )
Thu May 24 15:20:00 PDT 2018
这里-s,s表示settings.
第34章-如何在一个终端一次运行多个命令
首先,你是否考虑过,在输入多个命令后,敲击回车,希望这多个命令都被执行。其实linux是允许这样做的。
1. ls;date(采用分号(;)执行多个命令)
2. ls&&date(采用两个连接符(&&),执行多个命令)
3.如果命令之间有一个命令写错,不影响其他命令执行
第35章-ifconfig命令
ifconfig是用来查看网络相关的一个命令,例如可以查看MAC地址,网络地址,网关等信息。
1.ifconfig
eth0表示有线网卡1,如果有多个网卡,可能还有eth1,eth2等等。如果是无线的笔记本,可能有wth0,表示无线网卡。上面可以看到硬件地址,ip地址,网关,接收数据包等信息。
2. ifconfig eth0 (只显示eth0网卡信息)
3.ifconfig eth0 up(开启网卡)
4.ifconfig eth0 down(关闭网卡)
up表示启动,down表示禁用,这个结合起来,就可以达到重启网络的效果。
第36章-tar压缩包和解压命令
本文来介绍tar包的压缩和解压缩,这个好像也经常在面试中遇到的一个命令。
1.tar -cvf abc.tar text.txt (把text.txt 打包成abc.tar文件)
上面c是create,创建的意思,v是之前提到的verbose,就是可以看到这个命中执行发生了什么事情。f是file的意思。
2.tar -xvf abc.tar(*.tar结尾的解压)
上面-x是表示extract,摘取的意思,这里翻译解压更好。
3.tar -czvf ba.tar.gz file(把file 文件压缩成ba.tar.gz 文件)
4.tar -xzvf ba.tar.gz (解压ba.tar.gz文件)
第37章-grep命令
grep是英语“global search regular expression(RE) and print out the line”的缩写,意思是找到符合一定规则的字符并打印该行到终端。
grep主要是用来在文件中匹配摘取一些按照一定规则的字符串,接下来,举例几个grep常用的使用方法。
1. grep - n "null,existing" aaa.txt(在aaa.txt搜索 "null,existing" 的行,显示改行内容并显示行号;-n表示number,显示行号)
2.创建多个文件来测试
方式一:grep -n "输入规则" aaa.txt aaa2.txt
方式二:grep -n "输入规则" *
3.grep -i “输入规则”表示忽略大小写,i表示ignore,忽略的意思。
4.grep -nv “输入规则” aaa.txt(表示不包含something的字段)
上面的-v表示invert match,不匹配的意思 n表示打印行。
第38章-netstat命令
netstat是英文单词network status的缩写,就是网络状态查询的意思。
1. netstat -a(-a表示按照各个协议,分别统计连接数。按下q退出)
2. netstat -a | less(和less命令结合使用,较少的查看内容)
3. netstat -at | less(t表示TCP)
4. netstat -au | less(这里u表示UDP)
5. netstat -l | less (这里l表示lisentening,表示监听连接)
6. netstat -s | less (这里s表示static的意思)
7. netstat -st | less (表示TCP查询)
8. netstat -su | less 表示UDP的查询
9. netstat -p | less 这里p表示PID
10.netstat -n | less
11.netstat -c | less
第39章-apt-get命令
如何用apt-get来安装和卸载linux的软件包。这里我们通过安装php5来实验。
1. apt-get update 可以升级下apt-get组件
2.这里不得不提下源的概念和文件路径
linux下安装软件都是根据配置源文件地址,去相应站点去下载和更新软件的。由于linux一般是国外的发行版本,源的站点一般也是国外,
有时候,你经常看到网上有相关文章介绍如何修改本地源,例如添加中国某一个大学的站点,才能下载一些软件。
3.sudo apt-get install php5 (安装php5软件)
4.sudo apt-get remove php5 (卸载php5软件)
或者sudo apt-get remove --purge ph5 这里purge表示删除由于php5配置的一些文件或者修改的数据一并删除。
第40章-历史命令
1.方向上键,上一个命令
2.方向下键,下一个命令
3.查看所有历史领了history
4.查看历史最近10号记录history 10
5.查看命令行中cd...的命令 history |grep cd
第41章-关机、重启
关机命令(halt):
1、halt 立刻关机
2、poweroff 立刻关机
3、shutdown -h now 立刻关机(root用户使用)
4、shutdown -h 10 10分钟后自动关机 如果是通过shutdown命令设置关机的话,可以用shutdown -c命令取消重启
重启(reboot):
reboot
reboot -f:强制重新开机,不调用shutdown指令的功能;
reboot -i:在重开机之前,先关闭所有网络界面;
reboot -n:重开机之前不检查是否有未结束的程序;
reboot -w:仅做测试,并不真正将系统重新开机,只会把重开机的数据写入/var/log目录下的wtmp记录文件
第42章-vi使用方法
1.新建一个文档文件 touch 1.txt
2.进入命令模式 vi 1.txt
3.按i进入插入模式(在文档最底下有此插入模式字样,只有插入模式才可以进行文档编辑)
4.编辑1.txt
5.ESC 回复命令模式;:wq! 保存并退出;:q!不保存退出
光标的移动除了键盘上的上下左右键.也可以是小写模式下,按键盘上的"h,j,k,l",
"ctrl+b":屏幕往后移动一页
"ctrl+f":屏幕往前移动一页
"ctrl+u":屏幕往后移动半页
"ctrl+d":屏幕往前移动半页
输入任何一个整数,然后输入"shift+G" 就可以到这一页的开头了.
按键盘上的大写"G"移动到文章的最后.
按"$"符号将光标移动到行尾
"^"将光标移到行头
"w":将光标移到下一行头
"b":跟"w"相反.移到上一行行头
"e":将光标移到下一行尾.
如果想让文本显示行号.就在命令行 模式下,在文本最后输入":set nu"命令.就可以了
复制 「yw」:将光标所在之处到字尾的字符复制到缓冲区中。 「yy」:复制光标所在行到缓冲区。
「#yy」:例如,「6yy」表示拷贝从光标所在的该行"往下数"6行文字。 「p」:将缓冲区内的字符贴到光标所在位置。
注意:所有与"y"有关的复制命令都必须与"p"配合才能完成复制与粘贴功能。
查找
用"/"加上要查找的内容.例如"/hello"或者是"?hello"也是可以的.
替换
「r」:替换光标所在处的字符。 ,按一下"r"然后输入要即可. 「R」:替换光标所到之处的字符,直到按下「ESC」键为止。
恢复上一次操作
「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次"u"可以执行多次恢复.就相当于"CTRL +Z"的操作.
第43章-VMware虚拟机中如何配置静态IP
此处详解如何在VMware虚拟机中配置静态IP。
网段指某个IP范围,例如一栋小区楼和另一栋小区楼就不是一个网段如果你在A小区,你女朋友在B小区,你想和她联系就需要通过网关。你好基友住你隔壁,
你和他通信就不需要通过网关。VMware给我们模拟了网关,所以我们配置的时候需要根据VMware虚拟机来设置网络ip。我们将windows和Linux配置在一个网段内。
1、查看网关,以及网段
虚拟机-【编辑】--》【虚拟网络编辑器】
我们使用NAT模式,所以选择VMnet8。取消【使用本地DHCP】服务这个选择不勾,这个是动态分配IP的。点击NAT设置。
网关IP需要记住,通过这个我们得知我们的网关是192.168.133.2,子网掩码是255.255.255.0。子网IP的192.168.133.0的意思是
如果你要往这个网段内添加机器,你的机器ip只能是192.168.133.0~192.168.133.255这个范围内的。其实你会发现192.168.133.2是
网关IP了,一般而言192.168.133.255是广播IP所以不用,192.168.133.0一般是网段IP也不用。也就是说除了0 2 255这三个,其他的
数字你可以随便设置。
2、设置虚拟机IP
涉及文件列表:
/etc/sysconfig/network-scripts/ifcfg-eth0(网卡),/etc/sysconfig/network(主机名),/etc/resolv.conf(DNS)。
网卡信息修改:vi /etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT:开机启动。
NM_CONTROLLED:网络管理组件是否启用,精简版的是没有这个组件的。所以就不需要开启。
BOOTPROTO:网络分配方式,静态。
IPPADDR:手动指定ip地址。
NETMASK:子网掩码。
GATEWAY:网关ip。编辑好以后保存退出。
DNS配置:vi /etc/resolv.conf
nameserver:这里应该填对应的dns域名解析服务器的ip的。但是不清楚填什么,就填网关地址了。可以联网下东西,但是
好像ping www.baidu.com时好像没反应。不清楚怎么回事,因为不影响我联网更新,就没有关注了。
主机名修改:vi /etc/sysconfig/network
如果有需要就修改主机名,没需要就算了。配置好以上3个文件以后重启下机器。
3、使用远程工具连接
1、这里使用的是Xshell工具,ip地址就设置上面填入的ip地址,以后这台机器的ip都是他了。
2、点击确定,第一次连接会有这个,确定即可。
3、输入用户名,刚安装的机器只有一个root用户。先用root用户登录。
4、输入密码,我喜欢所有用户都同一个密码,这样以后登陆只需要填用户名就可以了。需要记住密码。
5、登陆以后就可以随便玩了。
4、windows IP设置
1、设置VMWare给我们配置的网络适配器,就是那个NAT8。右键属性
2、选择IPV4,点击属性。
3、设置ip地址。以后windows就是这个ip了。IP网段范围需要是VMWare虚拟机给我们的范围内的哦。
5、特别提示
如果关闭VMWare虚拟机,就会有个选项,挂到后台运行。这样虚拟机就挂到后台了,感觉像连接一个远程机器一样,超级赞!
第44章-Liunx+jdk+tomcat部署
一、准备
1.查看linux版本是多少位的
方式一:getconf LONG_BIT
方式二:uname -a
解释:如果有x86_64就是64位的,没有就是32位的。后面是X686或X86_64则内核是64位的,i686或i386则内核是32位的
2.下载相应jdk
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
3.下载tomcat
https://tomcat.apache.org/download-80.cgi
二.新建java文件,解决jdk tomcat
cd /java (进入java文件)
1. mkdir java (创建java文件)
2. tar -zxvf jdk-8u171-linux-x64.tar.gz (解压jdk)
3. tar -zxvf apache-tomcat-8.0.52.tar.gz(解压tomcat)
4.mv apache-tomcat-8.0.52 tomcat8052 (替换名称)
三、配置jdk环境变量
1.vi /etc/profile
2.输入大写G,定位在最后一行
3.输入i切换插入模式,把下面这行贴入
export JAVA_HOME=/java/jdk1.8.0_171
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JRE_HOME=$JAVA_HOME/jre
4.输入:wq!保存并退出
5.java -version 查看是否按照成功,输出版本号即安装成功
四、tomcat启动 关闭 配置
1. cd /java/tomcat8052/bin (进入tomcat)
2. ./startup.sh (开启tomcat)
3. ./shutdown.sh (关闭shutdown.sh)
4.配置端口号(端口号配置之后需要重新开启才有效)
vim /java/tomcat8052/conf/server.xml
5.访问 http://192.168.133.99:8080/
如果能访问则配置成功,如果不能访问有两个方面原因,1.tomcat未开启,2.linux 8080端口未开放
第45章-防火墙设置以及端口设置
1.查看防火墙状态,root用户登录,执行命令systemctl status firewalld
2.开启防火墙:systemctl start firewalld
3.关闭防火墙:systemctl stop firewalld
4. 查看开放端口:
方式一:/sbin/iptables -L -n
方式二:firewall-cmd --zone=public --list-ports
5.临时放行端口:firewall-cmd --add-port=8080/tcp,此处需要注意cmd和--之间有空格(开机之后不再开放)
6.永久放行端口:
firewall-cmd --zone=public --add-port=8080/tcp --permanent (--permanent永久生效,重启后也有)
7.重新载入
firewall-cmd --reload (设置端口号需要重启载入)
8.查看端口是否放行
firewall-cmd --zone=public --query-port=8080/tcp (例如查看8080是否开放,yes表示开放,no表示不开放)
9.删除放行端口
firewall-cmd --zone=public --remove-port=8080/tcp --permanent