linux命令详细解说,linux命令巧记

LINUX中,创建文件夹、文件命令及清除命令。

假设我们在/home里创建

贡嘎ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联建站的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!

1、创建一个叫test的文件夹

输入 cd /home 回车 就到了home目录;

输入 mkdir test 就可以了。

2、在文件夹里添加(就是创建 一个文件,例如a.txt)

输入 touch test/a.txt 回车。

3、删除

输入 rm -rf test/ 回车。

扩展资料:

一、LINUX通用命令:

1.date :print or set the system date and time

2. stty -a: 可以查看或者打印控制字符(Ctrl-C, Ctrl-D, Ctrl-Z等)

3. passwd: print or set the system date and time (用passwd -h查看)

4. logout, login: 登录shell的登录和注销命令

5. pwd: print working directory

6. more, less, head tail: 显示或部分显示文件内容.

7. lp/lpstat/cancel, lpr/lpq/lprm: 打印文件.

8. 更改文件权限: chmod u+x...

9. 删除非空目录:rm -fr dir

10. fg jobid :可以将一个后台进程放到前台。

Ctrl-z 可以将前台进程挂起(suspend), 然后可以用bg jobid 让其到后台运行。

job 可以直接让job直接在后台运行。

11. kill 的作用: send a signal to a process. eg: kill -9 发送的是SIG_KILL信号。。。 具体发送什么信号 可以通过 man kill 查看。

12. ps 的用法, ps -e 或 ps -o pid,ppid,session,tpgid, comm (其中session显示的sessionid, tpgid显示前台进程组id, comm显示命令名称。)

参考资料:LINUX命令-百度百科

Linux命令

命令格式: 命令 [-选项] [参数]

如:ls -la /usr

**说明: **

大部分命令遵从该格式

多个选项时,可以一起写 eg:ls –l –a à ls –la

简化选项与完整选项(注:并非所有选项都可使用完整选项) eg:ls –all à ls –a

作用:切换用户身份

语法:su [选项] 用户名

-c 仅执行一次命令,而不切换用户身份

$ su – root

env

$ su – root –c “useradd longjing”

文件或目录的CRUD

英文:change directory 命令路径:内部命令 执行权限:所有用户

作用: 切换目录

语法:cd [目录] / 切换到根目录

.. 回到上一级目录

. 当前目录

~ 当前用户的宿主目录(eg:# cd ~用户名 进入某个用户的家目录)

英文:list 命令路径:/bin/ls 执行权限:所有用户

作用:显示目录文件

语法:ls [-alrRd] [文件或目录]

-a all 显示所有文件,注意隐藏文件,特殊目录.和..

-l(long) 显示详细信息

-R(recursive) 递归显示当前目录下所有目录

-r (reverse) 逆序排序

-t(time) 按修改时间排序(降序)

英文:print working directory 命令路径:/bin/pwd 执行权限:所有用户

作用:显示当前工作目录

语法:pwd [-LP]

-L 显示链接路径,当前路径,默认

-P 物理路径

eg:# cd /etc/init.d

英文:make directories 命令路径:/bin/mkdir 执行权限:所有用户

作用:创建新目录

语法:mkdir [-p] 目录名

-p 父目录不存在情况下先生成父目录 (parents)

eg: mkdir linux/test 如果目录linux不存在,则报错,使用参数-p即可自动创建父目录。

命令路径:/bin/touch 执行权限:所有用户

作用:创建空文件或更新已存在文件的时间

语法:touch 文件名

eg:touch a.txt b.txt touch {a.txt,b.txt} 同时创建多个文件

创建带空格的文件 eg:touch "program files" 在查询和删除时也必须带双引号

注意:生产环境中,文件名,一定不要加空格

英文:copy 命令路径:/bin/cp 执行权限:所有用户

作用:复制文件或目录

语法:cp [–rp] 源文件或目录 目的目录

-r -R recursive 递归处理,复制目录

-p 保留文件属性 (原文件的时间不变)

eg:

1,相对路径 cp –R /etc/* . cp –R ../aaa ../../test/

2,,绝对路径 cp –R / ect/service /root/test/aa/bb

英文:move 命令路径:/bin/mv 执行权限:所有用户

作用:移动文件或目录、文件或目录改名

语法:mv 源文件或目录 目的目录

英文:remove 命令路径:/bin/rm 执行权限:所有用户

作用:删除文件

语法: rm [-rf] 文件或目录

-r (recursive)删除目录,同时删除该目录下的所有文件

-f(force) 强制删除文件或目录 即使原档案属性设为唯读,亦直接删除,无需逐一确认

注意:工作中,谨慎使用rm –rf 命令。

扩展点 :删除乱码文件

一些文件乱码后使用rm -rf 依然无法删除

此时,使用ll -i 查找到文件的inode节点

然后使用find . -inum 查找到的inode编号 -exec rm {} -rf ;

就能顺利删除了

英文:concatenate 命令路径:/bin/cat 执行权限:所有用户

作用:显示文件内容

语法:cat [-n] [文件名]

-n 显示行号

eg:cat /etc/services

命令路径:/bin/more 执行权限:所有用户

作用:分页显示文件内容

语法:more [文件名]

空格或f 显示下一页

Enter键 显示下一行

q或Q 退出

命令路径:/usr/bin/head 执行权限:所有用户

作用:查看文件前几行(默认10行)

语法:head [文件名]

-n 指定行数

eg:head -20 /etc/services head –n 3 /etc/services

命令路径:/usr/bin/tail 执行权限:所有用户

作用:查看文件的后几行

语法:tail [文件名]

-n 指定行数

-f (follow) 动态显示文件内容

获取一个大文件的部分文件,可使用head或tail命令

head -n 100 /etc/services config.log

英文: link 命令路径:/bin/ln 执行权限:所有用户

作用:产生链接文件

语法:

ln -s [源文件] [目标文件] 创建软链接 源文件 使用 绝对路径

ln [源文件] [目标文件] 创建硬链接

eg:ln -s /etc/service ./service.soft

创建文件/etc/service的软链接service.soft

eg:/etc/service /service.hard

创建文件/etc/service的硬链接/service.hard

软连接类似于windows下的快捷方式

软连接文件格式:

lrwxrwxrwx. 1 root root 13 Jul 20 07:50 service - /etc/services

1 硬链接数量,如果该文件没有硬链接,就只有本身一个硬链接。

13链接文件的长度

格式解析(特征):

1, 软连接的文件类型是 l(软连接),软连接文件的权限 都是 lrwxrwxrwx

2,- 箭头指向到源文件

真正的权限取决于对源文件的权限

时间值为创建软连接的时间

软连接可以跨文件系统生成

硬链接特征

1,相当于 cp -p +同步更新

2,通过i节点识别,与源文件有相同的inode节点

3,硬链接不能跨分区,ln /home/test/issuels /boot/test (错误)

4,不能针对目录使用 ln /tmp/ aa.hard (无法将目录/tmp 生成硬链接)

删除软连接

rm -rf symbolic_name

英文:manual 命令路径:/usr/bin/man 执行权限:所有用户

作用:获取命令或配置文件的帮助信息

语法:man [命令/配置文件]

eg:man ls man services

(查看配置文件时,不需要配置文件的绝对路径,只需要文件名即可)

调用的是more命令来浏览帮助文档,按空格翻下一页,按回车翻下一行,按q退出。

使用/加上关键的参数可直接定位搜索, n 查找下一个,shift+n 查找上一个

eg: /-l 直接查看-l的介绍

扩展:man的级别 (帮助文档的类型, 了解1 5即可)

man man-pages 查看每一种类型代表的含义 man文档的类型(1~9)

1是命令,5是配置文件 man优先显示命令,可指定帮助类型

eg:man 5 passwd (5代表配置文件级别)

[图片上传失败...(image-6718d2-1624438708895)]

help 查看shell内置命令的帮助信息

eg:help cd

内置命令,使用whereis,which,man都不能查看

type 命令 查看内部命令还是外部命令

命令名 --help 列举该命令的常用选项

eg: cp --help

命令路径:/bin/find 执行权限:所有用户

作用:查找文件或目录

语法:find [搜索路径] [匹配条件]

如果没有指定搜索路径,默认从当前目录查找

find命令选项

-name 按名称查找 精准查找

eg:find /etc -name “init” 在目录/etc中查找文件init

-iname 按名称查找

find查找中的字符匹配:

*:匹配所有

?:匹配单个字符

eg:find /etc -name “init???” 在目录/etc中查找以init开头的,且后面有三位的文件

模糊匹配的条件,建议使用单引号或双引号括起来。如果*被转义,可使用 单双引号括住查询条件,或者使用*。

eg: # find . –name *g

-size ****按文件大小查找

以block为单位,一个block是512B, 1K=2block +大于 -小于 不写是等于

eg:find /etc -size -204800 在etc目录下找出大于100MB的文件

100MB=102400KB=204800block

**-type ** 按文件类型查找

f 二进制文件l 软连接文件 d 目录 c 字符文件

eg: find /dev -type c

find****查找的基本原则 :

占用最少的系统资源,即查询范围最小,查询条件最精准

eg:

如果明确知道查找的文件在哪一个目录,就直接对指定目录查找,不查找根目录/

命令路径:/bin/grep 执行权限:所有用户

作用:在文件中搜寻字串匹配的行并输出

语法:grep [-cinv] '搜寻字符串' filename

选项与参数:

-c :输出匹配行的次数(是以行为单位,不是以出现次数为单位)

-i :忽略大小写,所以大小写视为相同

-n :显示匹配行及行号

-v :反向选择,显示不包含匹配文本的所有行。

eg:grep ftp /etc/services

eg:#grep -v ^# /etc/inittab 去掉文件行首的#号

eg:# grep -n “init”/etc/inittab 显示在inittab文件中,init匹配行及行号

eg:# grep -c“init”/etc/inittab 显示在inittab文件中,init匹配了多少次

命令路径:/usr/bin/which 执行权限:所有用户

作用: 显示系统命令所在目录(绝对路径及别名)

which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令

alias ls='ls --color=auto'

/bin/ls

/usr/bin/which: no zs in (/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/ch/bin)

命令路径:/usr/bin/whereis 执行权限:所有用户

作用:**搜索命令所在目录 配置文件所在目录 及帮助文档路径 **

eg: which passwd 和 whereis passwd

eg:查看/etc/passwd配置文件的帮助,就用 man 5 passwd

英文:GNU zip 命令路径:/bin/gzip 执行权限:所有用户

作用:压缩(解压)文件,压缩文件后缀为.gz

gzip只能压缩文件,不能压缩目录;不保留原文件

语法:gzip 文件

-d将压缩文件解压(decompress)

解压使用gzip –d或者 gunzip

命令路径:/usr/bin/bzip2 执行权限:所有用户

作用: 压缩(解压)文件,压缩文件后缀为.bz2

语法:bzip2 [-k] [文件]

-k:产生压缩文件后保留原文件(压缩比高)

-d 解压缩的参数(decompress)

解压使用bzip2 –d或者 bunzip2

命令路径:/usr/bin/zip 执行权限:所有用户

作用: 压缩(解压)文件,压缩文件后缀为.zip

语法:zip 选项[-r] [压缩后文件名称] [文件或目录]

-r压缩目录

eg:zip services.zip /etc/services 压缩文件;

zip -r test.zip /test 压缩目录

如果不加-r选项,压缩后的文件没有数据。

解压使用unzip

命令路径:/bin/tar 执行权限:所有用户

作用:文件、目录打(解)包

语法:tar [-zcf] 压缩后文件名 文件或目录

-c 建立一个压缩文件的参数指令(create),后缀是.tar

-x 解开一个压缩文件的参数指令(extract)

-z 以gzip命令压缩/解压缩

-j 以bzip2命令压缩/解压缩

-v 压缩的过程中显示文件(verbose)

-f file 指定文件名,必选项

1, 单独的打包 ,解包 tar –cf tar –xf

2, 打包之后,进行压缩 gzip bzip2

3, 一步到位 tar –zcvf tar -zxvf

tar -cf -xf 单独 压缩 解压缩

tar -z 以gzip打包目录并压缩 文件格式.tar.gz(.tgz)

tar -j 以bzip2打包目录并压缩 文件格式.tar.bz2

eg:tar -zcvf dir1.tar.gzdir1 使用gzip将目录dir1压缩成一个打包并压缩文件dir1.tar.gz

eg: tar -cvf bak.tar . 将当前目录的文件打包为bak.tar

eg: tar -xvf bak.tar 解压

eg: tar -zcvf bak.tar.gz bak.tar 或 gzip bak.tar使用gzip将打包文件bak.tar压缩为bak.tar.gz

eg: tar -jcvf bak.tar.bz2 bak.tar 或 bzip2 bak.tar 使用bzip2将打包文件bak.tar压缩为bak.tar.bz2

eg: tar -rvf bak.tar /etc/password 将/etc/password追加文件到bak.tar中(r)

eg:tar -cjvf test.tar.bz2 test 生成test.tar.bz2的压缩文件

eg:tar -xjf test.tar.bz2 解压

最常用: tar + gzip

tar –zcvf 压缩

tar –zxvf 解压

补充:

1,文件路径, 压缩包带文件路径

2,源文件是保留的,不会被删除

**shutdown **[选项] 时间

选项: -c: 取消前一个关机命令

-h:关机

-r:重启

eg:

shutdown -h now 立即关机 shutdown -h 20:30 定时关机

其他关机命令 halt poweroff init 0

其他重启命令

**reboot **重启系统 reboot -h now立即重启

init 6

注意:生产环境中,关机命令和重启命令谨慎执行。

善于查看man help等帮助文档

利用好Tab键 自动补全

掌握好一些快捷键

ctrl + c(停止当前进程)

ctrl + z 挂起当前进程,放后台

ctrl + r(查看命令历史) history

ctrl + l(清屏,与clear命令作用相同)

方向箭头 上 下 可以查看执行过的命令

ctrl + a 行首 ctrl + e 行尾

ctrl + k 清除 ctrl+ w 清除单词

vim/vi是Unix / Linux上最常用的文本编辑器而且功能非常强大。

只有命令,没有菜单。

《大碗》编辑器版

周围的同事不是用VI就是Emacs,你要是用UltraEdit都不好意思跟人家打招呼...什么插件呀、语法高亮呀、拼写检查呀,能给它开的都给它开着,就是一个字:酷!你说这么牛X的一东西,怎么着学会也得小半年吧。半年!?入门都远着呢!能学会移动光标就不错了,你还别说耗不起,就这还是左右移动!!!

:

[图片上传失败...(image-a08366-1624438708894)]

命令模式:又称一般模式

编辑模式:又称底行模式,命令行模式

|

命令

|

作用

|

|

a

|

在光标后附加文本

|

|

A(shift + a)

|

在本行行末附加文本 行尾

|

|

i

|

在光标前插入文本

|

|

I(shift+i)

|

在本行开始插入文本 行首

|

|

o

|

在光标下插入新行

|

|

O(shift+o)

|

在光标上插入新行

|

|

命令

|

作用

|

|

:set nu

|

设置行号

|

|

:set nonu

|

取消行号

|

|

gg

G

|

到第一行

到最后一行

|

|

nG

|

到第n行

|

|

:n

|

到第n行

|

|

命令

|

作用

|

|

:w

|

保存修改

|

|

:w new_filename

|

另存为指定文件

|

|

:w a.txt

|

内容追加到a.txt文件中 文件需存在

|

|

:wq

|

保存修改并退出

|

|

shift+zz(ZZ)

|

快捷键,保存修改并退出

|

|

:q!

|

不保存修改退出

|

|

:wq!

|

保存修改并退出(文件所有者可忽略文件的只读属性)

|

不保存并退出:

1, 有修改,但是修改后的内容是不保存的

2, 有突发情况,导致窗口退出。修改文件之后,直接删除同名的.swp文件

|

命令

|

作用

|

|

x

|

删除光标所在处字符 nx 删除光标所在处后n个字符

|

|

dd

|

删除光标所在行,ndd删除n行

|

|

:n1,n2d

|

删除指定范围的行(eg :1,3d 删除了123这三行)

|

|

dG

|

删除光标所在行到末尾的内容

|

|

D

|

删除从光标所在处到行尾

|

|

命令

|

作用

|

|

yy、Y

|

复制当前行

|

|

nyy、nY

|

复制当前行以下n行

|

|

dd

|

剪切当前行

|

|

ndd

|

剪切当前行以下n行

|

|

p、P

|

粘贴在当前光标所在行下 或行上

|

|

命令

|

作用

|

|

r

|

取代光标所在处字符

|

|

R(shift + r)

|

从光标所在处开始替换字符,按Esc结束

|

|

u

|

undo,取消上一步操作

|

|

ctrl+r

|

redo,返回到undo之前

|

|

命令

|

作用

|

|

/string

|

向后搜索指定字符串 搜索时忽略大小写 :set ic

|

|

?string

|

向前搜索指定字符串

|

|

n

|

搜索字符串的下一个出现位置,与搜索顺序相同

|

|

N(Shift + n)

|

搜索字符串的上一个出现位置,与搜索顺序相反

|

|

:%s/old/new/g

|

全文替换指定字符串

|

|

:n1,n2s/old/new/g

|

在一定范围内替换指定字符串

|

% 指全文,s 指开始,g 指全局替换

eg: :41,44/yang/lee/c 从41行到44行,把yang替换为lee,询问是否替换

eg: :41,44/yang/lee/g 同上,不询问,直接替换

使用替换命令来添加删除注释

:% s/^/#/g 来在全部内容的行首添加 # 号注释

:1,10 s/^/#/g 在1~10 行首添加 # 号注释

vi里面怎么查命令??

:!which cp

vi里面怎么导入命令的结果?

:r !which cp

v 可视字符模式

V****(shift+v) 可视行模式,选择多行操作

**ctrl+v **可视块模式(列模式),操作列

I或者O进入插入模式。

1,图形化界面

2,setup 命令虚拟界面

3,修改配置文件(以网络方式为NAT示例)

vi /etc/sysconfig/network-scripts/ifcfg-eth0

BOOTPROTO=static

ONBOOT=yes

IPADDR=192.168.2.129

NETMASK=255.255.255.0

GATEWAY=192.168.2. 2 #网段2任意,IP地址2固定,网段为vmnet8的设置的IP网段

DNS1=114.114.114.114

DNS2=8.8.8.8

重启网络生效:

service network restart

命令路径:/bin/ping 执行权限:所有用户

作用:测试网络的连通性

语法:ping 选项 IP地址

-c 指定发送次数

ping 命令使用的是icmp协议,不占用端口

eg: # ping -c 3 127.0.0.1

英文:interface configure 命令路径:/sbin/ifconfig 执行权限:root

作用:查看和设置网卡网络配置

语法:ifconfig [-a] [网卡设备标识]

-a:显示所有网卡信息

ifconfig [网卡设备标识] IP地址 修改ip地址

英文:network statistics 命令路径:/bin/netstat 执行权限:所有用户

作用:主要用于检测主机的网络配置和状况

-a all显示所有连接和监听端口

-t (tcp)仅显示tcp相关选项

-u (udp)仅显示udp相关选项

-n 使用数字方式显示地址和端口号

-l (listening) 显示监控中的服务器的socket

eg:# netstat -tlnu 查看本机监听的端口

tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN

协议 待收数据包 待发送数据包 本地ip地址:端口 远程IP地址:端口

netstat –antpl

临时生效:

hostname 主机名

[图片上传失败...(image-ceed36-1624438708893)]

永久生效:修改配置文件

vi /etc/sysconfig/network

[图片上传失败...(image-2b9d9e-1624438708893)]

修改主机名和ip地址之间的映射关系

vi /etc/hosts

192.168.2.120 node-1.edu.cn node-1

可配置别名

[图片上传失败...(image-ec86cf-1624438708893)]

进程和程序的区别:

1、程序是静态概念,本身作为一种软件资源长期保存;而进程是程序的执行过程,它是动态概念,有一定的生命期,是动态产生和消亡的。

2、程序和进程无一一对应关系。一个程序可以由多个进程共用;另一方面,一个进程在活动中有可顺序地执行若干个程序。

进程和线程的区别:

进程: 就是正在执行的程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。

线程: 轻量级的进程;进程有独立的地址空间,线程没有;线程不能独立存在,它由进程创建;相对讲,线程耗费的cpu和内存要小于进程。

进程管理的作用?

判断服务器的健康状态

查看系统所有的进程

杀死进程

作用:查看系统中的进程信息

语法:ps [-auxle]

常用选项

查看系统中所有进程

ps应用实例 # ps -u or ps -l 查看隶属于自己进程详细信息

作用: 查看当前进程树

语法:pstree [选项]

-p 显示进程PID

-u 显示进程的所属用户

作用:查看系统健康状态

显示当前系统中耗费资源最多的进程,以及系统的一些负载情况。

语法:top [选项]

-d 秒数,指定几秒刷新一次,默认3秒(动态显示)

作用:关闭进程

语法:kill [-选项] pId

kill -9 进程号(强行关闭) 常用

kill -1 进程号(重启进程)

添加用户

语法:useradd [选项] 用户名

修改密码命令

语法:passwd [选项] [用户名]

用户密码:生产环境中,用户密码长度8位以上,设置大小写加数字加特殊字符,要定期更换密码。

ys^h_L9t

删除用户

-r 删除账号时同时删除宿主目录(remove)

作用:用于查看Linux文件系统的状态信息,显示各个分区的容量、已使用量、未使用量及挂载点等信息。看剩余空间

语法:df [-hkam] [挂载点]

-h(human-readable)根据磁盘空间和使用情况 以易读的方式显示 KB,MB,GB等 -k  以KB 为单位显示各分区的信息,默认

-M 以MB为单位显示信息 -a  显示所有分区包括大小为0 的分区

作用:用于查看文件或目录的大小(磁盘使用空间)

语法:du [-abhs] [文件名目录]

-a 显示子文件的大小

-h以易读的方式显示 KB,MB,GB等

-s summarize 统计总占有量

eg:

du -a(all) /home  显示/home 目录下每个子文件的大小,默认单位为kb

du -b /home  以bytes为单位显示/home 目录下各个子目录的大小

du -h /home 以K,M,G为单位显示/home 文件夹下各个子目录的大小

du -sh /home  以常用单位(K,M,G)为单位显示/home 目录的总大小 -s summarize

df命令和du命令的区别:

df命令是从文件系统考虑的,不仅考虑文件占用的空间,还要统计被命令或者程序占用的空间。

du命令面向文件,只计算文件或目录占用的空间。

作用:查看内存及交换空间使用状态

语法: free [-kmg]

选项:

-k: 以KB为单位显示,默认就是以KB为单位显示

-m: 以MB为单位显示

-g: 以GB为单位显示

清理缓存命令:

echo 1 /proc/sys/vm/drop_caches

linux常用命令

1.列出文件清单命令:ls

ls命令能够列出当前目录下的所有内容。ls 命令的执行方式为:

# ls [-选项] [文件名或者目录名]

进入到Linux命令行中后,我们至少要知道当前所处的位置有哪些内容,这些信息就可以使用ls命令来获得。

在Linux中,ls命令是最常使用的命令之一,因为在命令行下要随时查看目录内容。如果不加任何选项的话,ls命令仅列出当前目录下的文件和目录名,例如,想要查看/etc目录下的内容,可以使用下列命令:

# ls /etc

如果想要列出当前目录下所有文件,则可以使用下列命令:

# ls -a

2、cat命令

功能:在标准输出上显示文件。

语法:cat [-vTEuAte] 文件

例子: cat example.txt

cat -A exam2.txt

cat file1 file2 file2

3、more命令

功能:在终端屏幕按屏显示文本文件。

语法: more [-pcdls] 文件

例子: more example.c

more -dc example.c

more -c -10 example.c

4、less命令

less命令的功能几乎和more命令一样,也是用来按页显示文件,不同之处在于less命令在显示文件时允许用户既

可以向前又可以向后翻阅文件。

5、head命令

功能:显示指定文件的前若干行。缺省设置为显示10行

语法:head [-n] 文件

例子: head example.c

head -3 example.c

6、tail命令

功能:显示指定文件的末尾若干行。缺省设置为显示10行

语法:tail [+ / - num ] [参数] 文件

+num 从第num行以后开始显示。- num 从距文件尾num行处开始显示。

例子: tail example.c

tail -4 example.c

7、grep、fgrep和egrep命令

功能:

这组命令以指定模式搜索文件,并通知用户在什么文件中搜索到与指定的模式匹配的字符串,并打印出所有包含该字符串的文本行,在该文本行的最前面是该行所在的文件名。grep命令一次只能搜索一个指定的模式;egrep命令检索扩展的正则表达式(包括表达式组和可选项);fgrep命令检索固定字符串,它不识别正则表达式,是快速搜索命令。

语法:

grep [-EFbcihlnvxef] [查找模式] [文件名1,文件名2,……]

egrep [选项] [查找模式] [文件名1,文件名2,……]

fgrep [选项] [查找模式] [文件名1,文件名2,……]

例子: grep "text file" example

grep data *

grep goto *.c

linux中init命令的详细解释

linxu下的init命令是进程初始化工具。下面由我为大家整理了linux的init命令的详细解释的相关知识,希望对大家有帮助!

一、linux中的init命令的详细解释

init命令

init命令是Linux下的进程初始化工具,init进程是所有Linu x的进 程的父进程,它的进程号为1。init命令是Linux 操作系统 中不可缺少的程序之一,init进程是Linux内核引导运行的,是系统中的第一个进程。

语法

init(选项)(参数)

选项

-b:不执行相关脚本而直接进入单用户模式;

-s:切换到单用户模式。 参数 运行等级:指定Linux系统要切换到的运行等级。

二、linux中的init命令的详解实例

几个常用的命令

查看系统进程命令:ps -ef | head

查看init的配置文件:more /etc/inittab

查看系统当前运行的级别:runlevel

运行级别

到底什么是运行级呢?简单的说,运行级就是操作系统当前正在运行的功能级别。这个级别从0到6 ,具有不同的功能。你也可以在/etc/inittab中查看它的英文介绍。

#0 停机(千万不能把initdefault 设置为0)

#1 单用户模式

#2 多用户,没有 NFS(和级别3相似,会停止部分服务)

#3 完全多用户模式

#4 没有用到

#5 x11(Xwindow)

#6 重新启动(千万不要把initdefault 设置为6)

三、linux的init命令的六种模式简介

6种模式中有两种是系统内定的:

0:停止系统运行。init 0〈回车〉相当于 halt〈回车〉。

6:重启系统。init 6〈回车〉相当于 reboot〈回车〉。

如果你了解/etc/inittab文件,就千万不要把0设为缺省登录模式,否则你的Linux的运行就只能两点一线了mdash;mdash;开机larr;rarr;停机,或者是开机larr;rarr;重启的无限循环。 其他的4种模式实际上是由操作系统确定的。如果你愿意修改Linux的源代码,你也可以定义这4种(甚至6种)模式的实际功能。其实只要知道Linux发布厂商的约定就足够了,下面我们就以蓝点2.0为例,看看init的常用约定吧mdash;mdash;

init 1mdash;mdash;进入单用户模式。这和开机是选择Safe Mode是一样的,可以以root的权限对系统进行管理,但是不能进入图形模式,也不支持中文,声卡和网络服务等就更不用提了。总之,它是系统可运行的最低软硬件配置。 它和Windows的安全模式是比较相似的,但一个本质的差别:在于只要你在Linux下运行相应的命令,硬件设备是可以在这种模式下被驱动的。例如只 要你的光驱连线正确,一个mount /dev/cdrom命令,你的光盘内容就随时可以在/mnt/cdrom里读出来。 要注意的是这一模式的字符控制台不能支持中文,但进入Xwin仍然能看到蓝点漂亮的中文字体,输入法也完全没有问题。

init 2mdash;mdash;进入无网络服务的多用户模式 如果你的计算机根本没有连网,这个模式就跟普通模式一样了。否则的话别人就不能通过网络www、ftp或telnet登录你的计算机了,但对与ping 命令你的计算机还是会作出反应的。如果连ping你也拒绝访问,那么就不如直接把网线拔了! 如果你的计算机作为网络服务器,这一模式就挺有用了。譬如你要修整系统或更新网站内容,就可以把计算机调到这一模式,然后放心的进行你的工作,等工作完成 后再切换到模式3或5就行了。但注意如果原来已经有用户ftp或telnet进入了你的系统,用init 2 是不能中断他和你的连接的,小心让别人在这个时候黑你一把哦!mdash;mdash;执行init 2前先用who命令检查一下吧。 这一模式下,在本机上的使用基本不变。你仍然可以访问网络,上Internet,ftp或telnet到网络中的任何一台服务器。只是你的计算机在网络中不给其他机器提供服务而已。计算机从第3运行级转入这一模式时你会看到一系列网络服务被停止。

init 3或init 4mdash;mdash;进入控制台登录的多用户模式 这是蓝点1.0的默认登录模式,每个用户都要先从黑白屏幕登录之后才可以运行才能start x后进 入KDE精彩的图形世界。而且Xwin启动后,运行 startx的控制台就被锁定了,除非你用startx 把Xwin放到后台运行。要到别的控制台用Ctrl+Alt+F,表示数字1到6中任一个,Ctrl+Alt+F7则回到图形模式专用的7 号控制台(有时要用Ctrl+Alt+F8)。 如果是从init 1 或init 2切换回init 3,我们可以看到一系列服务被重启。

init 5mdash;mdash;进入图形化登录的多用户模式 这是蓝点2.0安装后默认的启动模式。系统启动后或执行init 5命令后,悦目的蓝绿过渡色背景上就出现了漂亮的登录窗口。 所有帐号名都以图标的方式出现在窗口里等待选择,不必自己输入。不过系统管理员可能不高兴mdash;mdash;这样系统里有多少用户岂不是让人一目了然?不过在KDE控制中心中修改就可以解决问题的,我就不多说啦。 如果系统出了问题,只要启动仍然能进入这个界面(说明X服务器没有问题),root帐号也可以从这里进入Linux的安全模式,就是在左下角的选择框把 模式从kde换为save failed就行了。当然进入的界面绝对没有美观可言,但用于修复X窗口管理器或应用程序的问题是必不可少的。

面试常问的 25+ 个 Linux 命令

本文并不会对所有命令进行详细讲解,只给出常见用法和解释。具体用法可以使用 --help 查看帮助或者直接通过google搜索学习。

find / -name filename.txt 根据名称查找/目录下的filename.txt文件。

find . -name "*.xml" 递归查找所有的xml文件

find . -name "*.xml" |xargs grep "hello world" 递归查找所有文件内容中包含hello world的xml文件

grep -H 'spring' *.xml 查找所以有的包含spring的xml文件

find ./ -size 0 | xargs rm -f 删除文件大小为零的文件

ls -l | grep '.jar' 查找当前目录中的所有jar文件

grep 'test' d* 显示所有以d开头的文件中包含test的行。

grep 'test' aa bb cc 显示在aa,bb,cc文件中匹配test的行。

grep '[a-z]{5}' aa 显示所有包含每个字符串至少有5个连续小写字符的字符串的行。

ps -ef|grep tomcat 查看所有有关tomcat的进程

kill -9 19979 终止线程号位19979的进程

ls -al

pwd

cp source dest 复制文件

cp -r sourceFolder targetFolder 递归复制整个文件夹

scp sourecFile romoteUserName@remoteIp:remoteAddr 远程拷贝

mkdir newfolder

rmdir deleteEmptyFolder 删除空目录

rm -rf deleteFile 递归删除目录中所有内容

mv /temp/movefile /targetFolder

mv oldNameFile newNameFile

su -username

chmod 777 file.java file.java 的权限 -rwxrwxrwx ,r表示读、w表示写、x表示可执行

tar -czf test.tar.gz /test1 /test2

tar -tzf test.tar.gz

tar -xvzf test.tar.gz

head -n 10 example.txt

tail -n 10 example.txt

tail -f exmaple.log 这个命令会自动显示新增内容,屏幕只显示10行内容的(可设置)。

sudo rm a.txt 使用管理员身份删除文件

netstat -tln | grep 8080 查看端口8080的使用情况

lsof -i :8080

ps aux|grep java 查看java进程

ps aux 查看所有进程

tree a

wget

curl

ping

ssh userName@ip

echo $JAVA_HOME 打印java home环境变量的值

java javac jps ,jstat ,jmap, jstack

svn git maven

欢迎补充!~

《Linux下部分常用指令笔记》

一、创建linux维护用户

登录root用户

创建新用户

useradd 新用户名

设置用户密码

passwd 新用户密码

二、安装jdk和配置环境变量

建议在root用户下直接安装jdk,并直接配置环境变量,同时给非root用户设置读和执行权限

解压包

tar xvf jdk包名.tar

配置全局变量

编辑/etc/profile文件

vi /etc/profile

按I键,切换成编辑模式。

在文件未加入一下配置

export JAVA_HOME=jdk的解压文件目录

export JRE_HOME=jdk的解压文件目录/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${ JRE_HOME}/lib:$CLASSPATH

export JAVA_PATH=${JAVA_HOME}/bin:${ JRE_HOME}/bin

export PATH=$PATH:${JAVA_PATH}

保存并退出

Esc   

:wq

重载配置文件使其生效

source /etc/profile

检查是否安装成功

Javac

Java version

权限修改

读4写2执行1,顺序所有者、组成员、其他用户

Chomd  755  jdk的解压文件目录

三、安装tomcat

安装tomcat和放入war包使用非root的维护用户

如果使用root安装的话记得设置权限。( chomd -r 外层文件目录 )

su - 用户名

1、解压包

tar  xvf  tomcat包名.tar

2、将war包放入tomcat/webapps目录下

3、Tomcat启动服务和停止服务

查看进程

ps -ef | grep java

启动应用

Tomcat bin目录下.startup.sh

停止应用

建议使用

Kill -9 进程号

注:解压出应用文件后,注意配置信息的修改

四、IBM MQ部署 (7.5之后的版本)

(以下是使用9.0版本的正确部署命令)

一、 卸载旧版本IBM MQ (可选)

因为部署环境没有安装过mq,卸载这部分命令我没有亲自测试过

设置环境

以用户身份登录到组mqm,找到mq的安装位置 /opt/mqm

source ./setmqenv -s

查看队列管理器的状态

dspmq -o installation

停止与要卸载的安装关联的所有正在运行的队列管理器

endmqm SXRECV

停止与队列管理器关联的所有侦听器。

endmqlsr -m SXRECV

查看系统上当前安装的软件包(组件)

sudo rpm -qa | grep MQSeries

列出软件包并一次性卸载

sudo rpm -qa | grep MQSeries | xargs rpm -ev

再将对应的用户及安装目录给删除

rm -rf /opt/mqm

userdel -r mqm

检查MQ license

license文件在安装目录中 /opt/mqm/lib 可以找到

amqtcert.lic - is a trial license

amqbcert.lic - is a beta license

amqpcert.lic - is the production license

——————————————————————————————————————

二、安装新版本ibm mq

解压,解压文件都在MQServer中

tar –xzvf IBM_MQ_9.1.5_LINUX_X86-64.tar.gz

进入MQServer文件夹中:

cd MQServer/

运行MQ许可证程序

./mqlicense.sh

安装WebSphere MQ for Linux服务器(Runtime、SDK 和 Server 软件包):

rpm -U MQSeriesRuntime-9.1.5-0.x86_64.rpm

rpm -U MQSeriesSDK-9.1.5-0.x86_64.rpm

rpm -U MQSeriesServer-9.1.5-0.x86_64.rpm

安装WebSphere MQ for Linux客户机:

rpm -U MQSeriesClient-9.0.0-0.x86_64.rpm

安装WebSphere MQ样本程序:

rpm -U MQSeriesSamples-9.0.0-0.x86_64.rpm

创建组和用户

安装过程创建了一个名为mqm的用户和一个同样名为 mqm 的组。设置一个密码来解锁。

passwd mqm

——————————————————————————————————————

三、 配置

(这部分队列管理器、通道、队列等根据实际情况自行配置)

切换用户:

su mqm

创建队列管理器

使用crtmqm命令来创建一个名为 SXRECV

的队列管理器。我们把它作为缺省队列,并且将不在创建时指定死信队列。然后使用strmqm命令启动队列管理器。

crtmqm -q  SXRECV

strmqm  SXRECV

——————

如果执行crtmqm命令时提示

-bash-3.2$ crtmqm

-bash: crtmqm: command not found

find / -name crtmqm

则需要配置mqm用户的环境变量,编辑如下文件,并添加下面的内容,如下:

第一种方法:相对第二种较安全仅对mqm用户有效

方法一:

(1) -bash-3.2$ vi /var/mqm/.bash_profile --有可能会在文件夹下看不到这个文件,通过编辑即可看到

PATH=$PATH:/opt/mqm/samp/bin:/opt/mqm/bin:bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin

(2)执行“.”命令,使这个文件生效

-bash-3.2$ source  .bash_profile

(3)再次尝试实行crtmqm或是dspmqm命令,即可发现已经生效。

方法二:

( 1)

su  root

[if !supportLists](2)[endif]

vim /etc/profile

[if !supportLists](3)[endif] 在最后面加上:

PATH=$PATH:/opt/mqm/samp/bin:/opt/mqm/bin:bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/bin

( 4)关闭远程终端重新打开,无需重启服务器

——————

运行队列管理器

runmqsc SXRECV

创建通道和队列

DEFINE QLOCAL (XYDATA) REPLACE USAGE (NORMAL) DEFPSIST (YES) MAXDEPTH (300000) DESCR('兴业银行')

DEFINE QLOCAL (XYTRANS) REPLACE USAGE (XMITQ) DEFPSIST (YES) MAXDEPTH (300000) DESCR('兴业银行')

DEFINE QREMOTE (XYACK) REPLACE DEFPSIST (YES) RQMNAME (SXSEND)  RNAME (XYACK) XMITQ (XYTRANS) DESCR('XXXX')

DEFINE CHANNEL (XYDATA) CHLTYPE (RCVR) TRPTYPE (TCP) REPLACE DESCR('XXXX')

DEFINE CHANNEL (XYACK) CHLTYPE (SDR) CONNAME ('166.1.1.8(2214)') XMITQ (XYTRANS) TRPTYPE (TCP) DISCINT (0) CONVERT (NO) SHORTRTY (30) SHORTTMR (10) LONGRTY (999999999) LONGTMR (20) REPLACE DESCR('XXXX')

DEFINE CHANNEL (SVRCONN) CHLTYPE (SVRCONN) MCAUSER('mqm')

创建监听

DEFINE LISTENER (RECLISTENER) TRPTYPE (TCP) CONTROL(QMGR) PORT (2214)

启动监听

start LISTENER(RECLISTENER)

启动通道

start channel(SVRCONN)

start channel(XYDATA)

start channel(XYACK)

———————————————————————————————————————————————————

四、2035错误码 说明

如果程序连接mq报错2035,则需要对权限认证做设置,则进行以此操作

1、

ALTER QMGR CHLAUTH(DISABLED)

2、

ALTER CHL(通道名) CHLTYPE(SVRCONN) MCAUSER('mqm')

3、

ALTER AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS) AUTHTYPE(IDPWOS) CHCKCLNT(OPTIONAL)

或者直接将连接认证选项置为空,将其完全关闭,指令如下:

ALTER QMGR CONNAUTH('')

在执行完上述两条命令中的任一条后,都需要刷新连接认证的缓存,指令如下:

REFRESH SECURITY TYPE(CONNAUTH)

五、mq操作命令

一、MQ的启动与停止

1、MQ的启动

strmqm QMgrName

如果启动默认队列管理器,strmqm后可以忽略队列管理器名称。

2、MQ的关闭

endmqm -i QMgrName

停止mq

二、MQ运行状态查看与常用操作

1、 查看队列管理器运行状态

su mqm

执行如下命令检查队列管理器运行状态:dspmq显示结果中QMNAME表示MQ队列管理器的名称,STATUS表示当前运行状态。运行状态有如下几种:Starting正在启动Running正在运行Ending正在停止Ended normally已经正常终止Ended immediately已经立即终止Ended preemtively已经强制终止Ended unexpectively异常终止

注意:停止MQ后必须使用dspmq命令进行状态检查

2、查看通道运行状态与启停通道

runmqsc

dis chl(*);查看所有通道定义

dis chs(*);查看所有通道状态,如果没有查询到通道状态,或报错AMQ8420: Channel Status not found,请启动通道

dis chs(ChannelName); 查看通道ChannelName的状态

通道状态有如下几种:

STARTING正在启动BINDING正在绑定INITIALIZING正在初始化RUNNING正常STOPPING 正在停止RETRYING重试PAUSED等待STOPPED已停止REQUESTING请求

start chl(ChannelName);启动通道

stop chl(ChannelName);停止通道

* 重置通道

reset channel(ChannelName); 重置通道序号。当本地与其他MQ队列管理器的通道无法正常启动的情况,检查日志发现是通道序号不一致,此时就需要先停止发送方通道,清空队列深度并在发送方和接收方进行通道计数的重置,重置后启动通道即可恢复通讯。

注意:重置成功mq序列号一般相同或相差1

3、查看通道监听状态与启停监听

runmqsc

dis listner(*);查看通道监听定义

dis lsstatu(listnerName);查看监听状态

start lstr(listnerName); 启动监听

stop lstr(listnerName); 停止监听 

4、查看队列深度

runmqsc

dis q(*);查看所有各类队列的属性

dis qlocal(QName);查看所有本地队列的属性

队列深度属性为:CURDEPTH

查看队列深度display ql('队列名')  curdepth

*清空队列深度

清空队列深度

clear ql(‘队列名’)

三、MQ发送和接收消息

su mqm

发送消息

amqsput  队列名  队列管理器

获取消息

amqsget  队列名  队列管理器

可通过配合查看队列深度命令,完成mq的联调

六、其他维护中常用linux命令

1、测试端口连接

telnet ip port

2、查看已启动的端口

netstat -an | grep 端口号

3、查看应用进程

ps -ef |grep java

4、修改权限

chomd  XXX(对应的权限)  文件目录

5、修改文件或目录下所有文件所有者和组

Chomd -R 用户名:组名  文件目录

6、查看目录内容

ls 或者ls -l (简写ll)

7、查看文件输出

cat 目录/文件名

或者

Vi 目录/文件名 按i可进入编辑

按 G 到文档末尾

按 gg 到文件首行

不保存退出

Esc   :q!

保存退出

Esc   :wq

vi 进入文档文档后查找关键字

Esc 进入命令行

/关键字

按n向下继续查找

按N向上继续查找

8、杀进程

Kill -9 进程号

9、复制

cp -r 源目录  目标目录

10、移动

mv  -i 源文件或目录 目标文件或目录

11、删除

rm -R 文件目录

12、 切换工作目录

cd  相对路径或绝对路径

~也表示为 home 目录 的意思, . 则是表示目前所在的目录, .. 则表示目前目录位置的上一层目录。


网页名称:linux命令详细解说,linux命令巧记
网页地址:http://myzitong.com/article/hdoigd.html