牛骨文教育服务平台(让学习变的简单)

才开始玩Linux 一进入看到黑漆漆的画面 感觉无从下手  试试下面的命令吧 

查找文件

find

绝对强悍

find .  -maxdepth 1 -name "@*" 

这个命令意思是,查找当前目录下以@开头的文件或者目录,搜索深度为一级也就是只在当前目录找(.是 当前目录的意思),不进入子目录。

如果你要从/目录开始找就:

find  /  -maxdepth 1 -name "@*" 

如果想搜全盘,就把-maxdepth 1 去掉

编辑文件

vim 

在 shell 模式下,键入vi 及需要编辑的文件名,即可进入vi. 例如:

vi example.txt

即可编辑 example.txt 文件.
如果该文件存在,则编辑界面中会显示该文件的内容,并将光标定位在文件的第一行;

如果文件不存在,则编辑界面中无任何内容。

如果需要在进入vi 编辑界面后,将光标置于文件的第n 行,则在vi命令后面加上“+n” 参数即可。例如需要从example.txt 文件的第5 行开始显示,则使用如下命令:

vi +5 example.txt

退出 vi 时,需要在末行模式中输入退出命令“q”。 

如果在文本输入模式下,首先按“ESC” 键进入命令模式,然后输入“:” 进入末行模式在末行模式下,可使用如下退出命令:
:q 直接退出。 如果在文本输入模式下修改了文档内容,则不能退出。
:wq 保存后退出。
:x 同“ wq”。
:q! – 不保存内容, 强制退出。

1.写文件的话,可以用vi或者vim命令。例如:$touch a.txt   $vim a.txt然后按i来编辑文档a.txt,编辑完成后,按Esc进入命令行,按shift键,然后键入冒号wq(:wq),表示保存你所作的修改并退出,如果不想保存所作的修改可以键入冒号q!(:q!),表示强制退出。随后可以用 cat命令来查看你所做的修改。

  1. 修改文件名用 mv.例如:mv a.txt b.txt便把a.txt文件名修改成了b.txt.

清空文件内容:
用vi 打开  删了抓出来cat /dev/null > filename

部分快捷键命令

ctrl-f  在文件中前移一页(相当于page down)
ctrl-b  在文件中后移一页(相当于page up)

H 将光标移到屏幕上的起始行(或最上行);
M 将光标移到屏幕中间;
L 将光标移到屏幕最后一行。

/string  向前搜索给定的字符串string;
?string  向后搜索给定的字符串string;
n        向前或向后搜索,找出字符串下次出现的位置。

rc 用c替换当前光标指示的字符;
x  删除当前光标位置的字符;
dw 删除光标右面的字;
db 附除光标前面的字;
dd 删除光标所在的行,并去掉空隙。

在上面的任何命令前面加上数字,它们的功能扩充如下:
nrc  从光标位置开始用c替换n个字符;
nx   从光标位置开始删除n个字符;
ndw  在光标右面删除n个字;
ndb  在光标前面删除n个字;
ndd  删除n行,并去掉空隙。

其他常用的删除命令(前面不能加数字)是:
d$  从当前光标起删除字符直到行的结束;
d0  从当前光标起删除字符直到行的开始;
J   删除本行的回车字符(CR),并和下一行合并。

p(小写)将缓冲区的内容粘贴到当前光标的后面;
P(大写)将缓冲区的内容粘贴到当前光标的前面。

yy将当前行复制到剪切缓冲区;
nyy将n行复制到剪切缓冲区。

u 撤销前一条命令的结果;
. 重复最后一条修改正文的命令。

i 在光标左面插人正文;
a 在光标右面插人正文。

o在光标所在行下面增加新行;
O在光标所在行上面增加新行。

I 在光标行的开头插入;
A 在光标行的末尾插入;

:n 将光标移到第n行。

:a,b  w file  将a行到b行的内容写到file中。

查看文件内容的方法及分页显示的办法

cat /etc/sysconfig/network
-n:查看行号信息

more:空格翻页 回车换行

less:上下键翻页 可以反复看(可以回翻页)

head:显示前几行
head -5 install.log  显示前5行

tail:显示后几行
tail -f 动态更新

grep:查看文件中包含关键字的一行
#grep --color=tty dump intstall.log  彩色显示
正则表达式:^root 以root为开头(^)
root$,以root结尾($)
-v:不包括的几行(取反)

grep -n -v ^# /etc/vsftpd/vsftpd.conf

切换用户命令: su - x1

ssh远程登录: ssh 192.168.1.254

telnet服务远程登录: telnet 192.168.1.254(telnet不安全,默认不允许root用户登录)

在linux下一ping就ping个没完,怎么让它停下来?

Ctrl+c 停止
Ctrl+z 暂停

新建文件夹

mkdir  filename

-m    用于对新建目录设置存取权限,也可以用 chmod 命令进行设置。

mkdir -m 777 test

-p     需要时创建上层文件夹(或目录),如果文件夹(或目录)已经存在,则不视为错误。

删除文件 文件夹

rm

 -i 删除前逐一询问确认。

-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。

-r 将目录及以下之档案亦逐一删除。

很多人还是习惯用rmdir,不过一旦目录非空,就陷入深深的苦恼之中,现在使用rm -rf命令即可。
直接rm就可以了,不过要加两个参数-rf 即:rm -rf 目录名字
-r 就是向下递归,不管有多少级目录,一并删除
-f 就是直接强行删除,不作任何提示的意思

 注:在linux没有回收站,在试用rm命令的时候,一定要小心些,删除之后就无法再恢复了。

设置文件权限

r(Read,读取):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目 录的权限。
w(Write,写入):对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限。
x(eXecute,执行):对文件而言,具有执行文件的权限;对目录了来说该用户具有进入目录的权限。

r: 对应数值4

w: 对应数值2

x:对应数值1

-:对应数值0
数字设定的关键是mode的取值,一开始许多初学者会被搞糊涂,其实很简单,我们将rwx看成二进制数,如果有则有1表示,没有则有0表示,那么rwx r-x r- -则可以表示成为:
  111   101   100
再将其每三位转换成为一个十进制数,就是754。

例如,我们想让a.txt这个文件的权限为:  
                        可读     可写    可执行
自己                 是          是          -                110

同组用户          是          是          -                110

其他用户          是           -            -                100

那么,我们先根据上表得到权限串为:rw-rw-r--,那么转换成二进制数就是110 110 100,再每三位转换成为一个十进制数,就得到664,因此我 们执行命令:

[root@localhost ~]# chmod 664 a.txt

查看系统版本号

登录到服务器执行 lsb_release -a ,即可列出所有版本信息,例如:

[root@t ~]# lsb_release -a

LSB Version:    :core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID: CentOS
Description:    CentOS Linux release 6.0 (Final)
Release:        6.0
Codename:       Final

2) 登录到linux执行cat /etc/redhat-release ,例如如下:

[root@3.5.5Biz-46 ~]# cat /etc/redhat-release 

Red Hat Enterprise Linux AS release 4 (Nahant Update 1)
[root@3.5.5Biz-46 ~]# 
这种方式下可以直接看到具体的版本号,比如 AS4 Update 1

3)登录到linux执行rpm -q redhat-release ,例如如下

[root@3.5.5Biz-46 ~]# rpm -q redhat-release

redhat-release-4AS-2.4
[root@3.5.5Biz-46 ~]# 

Linux命令行访问网页

curl http://iframe.ip138.com/ic.asp
(此命令可用于查询外网ip)

查看端口

netstat –apn
netstat -ntlp

常见参数

-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态

-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。

复制文件

CP命令

格式: CP [选项]  源文件或目录   目的文件或目录
选项说明:-b 同名,备分原来的文件
        -f 强制覆盖同名文件
        -r  按递归方式保留原目录结构复制文件

cp     -r         /tmp/a              /root/a

防火墙设置

Linux还是比较常用的,于是我研究了一下Linux关闭防火墙命令,在这里拿出来和大家分享一下,希望你能学会Linux关闭防火墙命令 。
1) 永久性生效,重启后不会复原
开启: chkconfig iptables on

关闭: chkconfig iptables off
2) 即时生效,重启后复原
开启: service iptables start
关闭: service iptables stop
需要说明的是对于Linux下的其它服务都可以用以上命令执行开启和关闭操作。
在开启了防火墙时,做如下设置,开启相关端口,
修改/etc/sysconfig/iptables 文件,添加以下内容:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

查进程

    ps命令查找与进程相关的PID号:
    ps a 显示现行终端机下的所有程序,包括其他用户的程序。
    ps -A 显示所有程序。
    ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
    ps -e 此参数的效果和指定"A"参数相同。
    ps e 列出程序时,显示每个程序所使用的环境变量。
    ps f 用ASCII字符显示树状结构,表达程序间的相互关系。
    ps -H 显示树状结构,表示程序间的相互关系。
    ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。
    ps s 采用程序信号的格式显示程序状况。
    ps S 列出程序时,包括已中断的子程序资料。
    ps -t<终端机编号> 指定终端机编号,并列出属于该终端机的程序的状况。
    ps u 以用户为主的格式来显示程序状况。
    ps x 显示所有程序,不以终端机来区分。
  
    最常用的方法是ps aux,然后再通过管道使用grep命令过滤查找特定的进程,然后再对特定的进程进行操作。
    ps aux | grep program_filter_word,ps -ef |grep tomcat

    ps -ef|grep java|grep -v grep 显示出所有的java进程,去处掉当前的grep进程。

  

杀进程

   使用kill命令结束进程:kill xxx
   常用:kill -9 324

   Linux下还提供了一个killall命令,可以直接使用进程的名字而不是进程标识号,例如:# killall -9 NAME

tomcat管理

查找tomcat的目录

whereis tomcat

如果没有whereis 命令则是系统版本问题,可使用find查找文件夹

启动停止查看tomcat目录

service tomcat status
service tomcat restart
service tomcat start
service tomcat stop

如果没有service命令

则需要进入到tomcat目录进行操作

进入bin目录

 启动

 ./catalina.sh start  

停止

./shutdown.sh

查看日志

进入logs目录

 cat catalina.out