linux基础(二)—-linux常用命令积累

最后更新于:2022-04-01 11:24:20

才开始玩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命令来查看你所做的修改。 2. 修改文件名用 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 ~~~
';