子曰:“工欲善其事,必先利其器。“
学习应该是快乐的,在这个乐园中我努力让自己能用简洁易懂(搞笑有趣)的表达来讲解让知识或者技术,让学习之旅充满乐趣,这就是写博文的初心。
文章目录
1、cd | pwd2、mkdir|touch3、vim/vi | cp | mv4、cat| more | less5、head | sort6、zgrep | zcat7、ls | rm8、ifconfig | ping | telnet9、ps |crontab推荐阅读本篇的旅行地图如下:第一站:小木 会先 登录酷炫的服务器,进入(cd)到神秘的magic 空间(目录),当我们忘记是怎么进入magic空间(目录)时候,可以使用(pwd)立刻得知目前所在的工作目录。第二站:在magic空间(目录)中,创建(mkdir)一个属于自己的奇幻目录,然后创建(touch)属于自己文件。第三站:打开(vim)创建好的文件,添加此时的感受,发现这个文件要复制一份到(cp)另一个空间中,并进行改名(mv)!第四站:一日之后,忘记了当前的感受,想在全部回味(cat)一下,发现内容太多,还是一点一点(more|less)回味第五站:二日之后,想看一下之前写的前(head)5行内容是什么,然后在能排个顺序(sort)。第六站:五日之后,文件内容太多,压缩(tar)一下,压缩后有想看内容或查找某个内容(zgrep | zcat)。第七站:十日之后文件太多,查看(ls)一下,删除(rm)不想要的文件。第八站:小木还是想探索更奇特的世界,先看一下自己的IP配置(ifconfig),然后挑逗(ping)一下GoogleMM,发现GoogleMM没理会,又挑逗(ping)BaiDuMM,挑逗成功。然后查看(telnet)一下BaiDuMM 的8080房间门(端口)是否打开!第九站:查看了房间门开启后,小木“PS”了自己的照片,然后写了个定时器,发送给BaiduMM。第十站:发送的时候发现自己无权限发送,切换(su)到root用户,发送成功,小木累的睡着了,睡梦中梦到自己特别牛逼,因为自己可以通过一个“man”了解所有细节。
1、cd | pwd
# 登录酷炫的服务器Connecting to 192.168.1.120:22...Connection established.To escape to local shell, press 'Ctrl+Alt+]'
cd 命令
用于切换当前工作目录至dirName
(目录参数)。
其中dirName
表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的 home 目录 (也就是刚 login 时所在的目录)。
另外,"~" 也表示为 home 目录 的意思,"." 则是表示目前所在的目录,"…" 则表示目前目录位置的上一层目录。
pwd命令
用于显示工作目录。
执行pwd指令可立刻得知您目前所在的工作目录的绝对路径名称。
# 进入 magic “空间”[root@localhost ~]# cd magic/# 查看magic “空间”当前的目录[root@localhost magic]# pwd/root/magic
2、mkdir|touch
mkdir命令
用于建立名称为dirName
之子目录。
touch命令
用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。
# 创建一个奇幻目录,也可以一次性创建多个。或者多级# 创建一个[root@localhost magic]# mkdir fantasy[root@localhost magic]# lsfantasy# 创建多个[root@localhost magic]# mkdir great best[root@localhost magic]# ll总用量 0drwxr-xr-x. 2 root root 6 3月 14 22:47 bestdrwxr-xr-x. 2 root root 6 3月 14 22:45 fantasydrwxr-xr-x. 2 root root 6 3月 14 22:47 great# 创建多级[root@localhost magic]# mkdir -p surprise/otherworld[root@localhost magic]# cd surprise/otherworld/[root@localhost otherworld]# pwd/root/magic/surprise/otherworld#-------------------## 在fantasy 下创建一个文件[root@localhost fantasy]# touch happyday[root@localhost fantasy]# ll总用量 0-rw-r--r--. 1 root root 0 3月 14 22:50 happyday# 在fantasy 下创建多个文件[root@localhost fantasy]# touch sadday busyday[root@localhost fantasy]# ll总用量 0-rw-r--r--. 1 root root 0 3月 14 22:50 busyday-rw-r--r--. 1 root root 0 3月 14 22:50 happyday-rw-r--r--. 1 root root 0 3月 14 22:50 sadday
3、vim/vi | cp | mv
Unix 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。
但是目前我们使用比较多的是 vim 编辑器(有时候系统安装好没有vim需要自行安装一下)。
原因:vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。
vim涉及的知识还是挺多,这里简单介绍,不详细展开,如不是很了解的可以阅读:Linux学习—vim文本编辑器学习:http://uee.me/aSabA。
# 打开happyday[root@localhost fantasy]# vim happyday #点击 i 后插入内容# 输入完成 按 esc 输入 :wq ,回车保存# 拷贝 复制一份[root@localhost fantasy]# cp happyday ../best/[root@localhost fantasy]# cd ..[root@localhost magic]# ll best/happyday -rw-r--r--. 1 root root 99 3月 14 23:02 best/happyday# 改名[root@localhost magic]# cd best/[root@localhost best]# mv happyday besthappyday[root@localhost best]# ll总用量 4-rw-r--r--. 1 root root 99 3月 14 23:02 besthappyday
注: Vim相关模式
(1)命令模式 -Command Mode
(2)输入模式 -Insert Mode
(3)底行模式(尾行,末行) - Last Line Mode
--vim 打开(创建)文件默认进入的命令模式,输入I 转换到输入模式,到底行模式--esc :wq
4、cat| more | less
cat 命令
用于连接文件并打印到标准输出设备上。
more 命令
类似cat
,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似)。
less
与more
类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。
# 这里就只演示 cat[root@localhost best]# cat besthappyday 0315 happy0812 happy0201 happy.....
5、head | sort
head
命令 用来显示档案的开头至标准输出中。
sort
命令用于将文本文件内容加以排序。sort可针对文本文件的内容,以行为单位来排序。
# 查看前5行内容 -n num:显示每个文件的前num 行内容[root@localhost best]# head -n 5 besthappyday 0315 happy0812 happy0201 happy0403 happy9046 happy# 排序一下[root@localhost best]# head -n 5 besthappyday | sort 0201 happy0315 happy0403 happy0812 happy9046 happy
6、zgrep | zcat
避免解压文件,可以使用zgrep
命令查找文件内容信息、zcat
查看压缩文件中的信息。
# 五日后文件记录内容太多,压缩一下[root@localhost best]# tar -zcvf besthappyday.tar.gz besthappyday besthappyday[root@localhost best]# ll总用量 8-rw-r--r--. 1 root root 99 3月 14 23:02 besthappyday-rw-r--r--. 1 root root 163 3月 14 23:14 besthappyday.tar.gz# 查看 压缩文件内容 [root@localhost best]# zcat -a besthappyday.tar.gz 0812 happy0201 happy0403 happy9046 happy...# 查找 压缩文件中的内容[root@localhost best]# zgrep -a "0201" besthappyday.tar.gz 0201 happy
注: 一般公司日志都会每天压缩并且日志量较大的时候,如果想要排查问题,查找日志,那就不用解压在查看了。
7、ls | rm
ls命令
用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)。ls -l
可以显示档案的时间记录。
rm命令
用于删除一个文件或者目录。
# 查看best目录文件[root@localhost best]# lsbesthappyday besthappyday.tar.gz[root@localhost best]# ls -l总用量 8-rw-r--r--. 1 root root 99 3月 14 23:02 besthappyday-rw-r--r--. 1 root root 163 3月 14 23:14 besthappyday.tar.gz[root@localhost best]# ll总用量 8-rw-r--r--. 1 root root 99 3月 14 23:02 besthappyday-rw-r--r--. 1 root root 163 3月 14 23:14 besthappyday.tar.gz# 删除 文件 besthappyday [root@localhost best]# rm -i besthappyday[root@localhost best]# ll总用量 4-rw-r--r--. 1 root root 163 3月 14 23:14 besthappyday.tar.gz
注意: rm使用一定不能胡搞,尤其还是root用户的时候,**千万注意使用 rm -rf / ,生产环境切记! **
-i 删除前逐一询问确认。
-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
-r 将目录及以下之档案亦逐一删除。
注: 如果不能使用 ll,可以进行配置(临时):alias ll=‘ls -l --color=auto’ ,如果想服务重启后还生效要改配置文件。
8、ifconfig | ping | telnet
ifconfig命令
用于显示或设置网络设备。ifconfig可设置网络设备的状态,或是显示目前的设置,可用于启动关闭指定网卡、配置IP地址等。
ping命令
用于检测主机。执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。
telnet命令
用于远端登入。执行telnet指令开启终端机阶段作业,并登入远端主机
# 查询显示网络信息 配置的IP: 192.168.1.120[root@localhost best]# ifconfigenp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.1.120 netmask 255.255.255.0 broadcast 192.168.1.255inet6 fe80:::229e:3407:7b99 prefixlen 64 scopeid 0x20<link>ether 08:00:27:ef:a7:71 txqueuelen 1000 (Ethernet)RX packets 2602 bytes 225175 (219.8 KiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 1527 bytes 193319 (188.7 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536inet 127.0.0.1 netmask 255.0.0.0inet6 ::1 prefixlen 128 scopeid 0x10<host>loop txqueuelen 1000 (Local Loopback)RX packets 68 bytes 5912 (5.7 KiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 68 bytes 5912 (5.7 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0# 勾搭 googleMM 和 勾搭BaiduMM[root@localhost best]# ping PING (69.171.225.13) 56(84) bytes of data.^C--- ping statistics ---17 packets transmitted, 0 received, 100% packet loss, time 16019ms[root@localhost best]# ping PING www. (119.75.217.26) 56(84) bytes of data.64 bytes from 119.75.217.26 (119.75.217.26): icmp_seq=1 ttl=55 time=101 ms64 bytes from 119.75.217.26 (119.75.217.26): icmp_seq=2 ttl=55 time=124 ms^C--- www. ping statistics ---2 packets transmitted, 2 received, 0% packet loss, time 1001msrtt min/avg/max/mdev = 101.591/113.020/124.449/11.429 m# 看房间门是否打开[root@localhost ~]# telnet 192.168.1.120 8080-- telnet : ctrl + ] + quit
9、ps |crontab
ps命令
用于显示当前进程 (process) 的状态。
这个命令第一篇中提到过!
# 查询java服务[root@localhost ~]# ps -aux | grep java
crontab
是用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此任务调度命令。
crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。
crontab的使用这里略,感兴趣的请自行查找资料。
###10、su | man
su命令用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码。
使用权限:所有使用者。
# 显示当前用户dufy@localhost:~$ whoami dufy# 切换到root用户dufy@localhost:~$ su - root 密码: [root@localhost ~]# whoamiroot
man命令
来查看一些不熟悉的命令的使用方法,还可以用来查询系统库文件中的一些函数定义和使用方法。man就是manual(参考手册)。
# 查看对应命令的使用说明[root@localhost ~]# man mv[root@localhost ~]# man ls
推荐阅读
Java开发人员必须掌握的Linux命令(一)
Java开发人员必须掌握的Linux命令(二)
Java开发人员必须掌握的Linux命令(三)
Java开发人员必须掌握的两个Linux魔法工具(四)
Java开发人员必须掌握的Linux命令-学以致用(五)
谢谢你的阅读,如果您觉得这篇博文对你有帮助,请点赞或者喜欢,让更多的人看到!祝你每天开心愉快!
Java编程技术乐园:一个分享编程知识的公众号。跟着园长老司机一起学习,每天进步一点点。扫描关注,后台回复【资源】,获取珍藏干货!99.9%的伙伴都很喜欢© 每天都在变得更好的阿飞云