`
2277259257
  • 浏览: 514973 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Linux总结

 
阅读更多

 

 

一、字符界面操作基础

1、字符界面的使用方法:

1)在图形界面环境下直接开启终端窗口(如:putty)

2)在系统启动后直接进入字符界面

3)使用远程登录方式SSH进入字符工作环境

 

2、本地登录和远程登录

      Linux远程登录的3种方式:telnet ssh 工具(secureCRT、xshell等)

      1、ctrl+R进入到cmd,然后输入 ssh uname@host,然后再根据提示输入密码即可

       2、secureCRT

 

    a. 注意:默认的字符编码为utf-8,所以你需要将字符编码改为utf-8

 

       3、XShell

 

3、系统运行级别及其切换

0级别:所有进程将被终止,机器将有序的停止,关机时系统处于这个级别

1级别:单用户模式。用于系统维护,只有少数进程运行,同时所有服务也不启动。

2级别:多用户模式。和运行级别3一样,只是网络服务没有启动

3级别:多用户模式。允许多用户登录系统,是系统默认的启动级别

4级别:留给用户自定义的运行级别

5级别:多用户模式。并且在系统启动后运行X-Window图形化登录

6级别:所有进程被终止,系统重新启动。

 

4、常用的系统关机和重启命令

shutdown [参数] time [warning-message]

常用参数如下:

-t sec:发出警告信息并设置要延迟多少秒再通知init执行运行级别

-k :并不真的关闭系统,只是给每个用户发送警告信息

-r :关闭系统之后重新启动系统

shutdown -r +5 "The system will reboot in 5ms" --警告所有用户系统将5分钟后重新启动

-h :关闭之后停止系统

shutdown -h now

 

reboot:重启

 

logout:注销当前登录用户

 

二、基本命令操作

 1、命令基本格式:cmd [options] [arguments]

cmd:命令名

options:选项

arguments:参数

 

示例:

ls

ls -l /home:显示该目录下的所有文件详细信息

ls -al /home(ls -a -l /home):显示该目录下所有文件(包括隐藏)的详细信息

ls --help:显示该命令的帮助信息

 

 2、通配符

* :匹配任何字符和任何数目的字符

? :匹配单一数目的任何数目的字符

[] :匹配中括号内的任意一个字符

 

示例:

ls *.conf :显示所有以.conf结尾的文件

ls /home/*.txt :显示home目录下所有以.txt结尾的文件

ls h*.conf :显示以h开头和.conf结尾的文件

ls test?.aa :显示以test开头和.aa结尾的文件

ls [abc]* :显示所有包含abc的文件或目录

 

 3、获取命令帮助

1)通过命令参数直接查看帮助(如:ls --help)

2)使用man命令获取帮助(如:man ls)

3)使用info命令获取帮助(如:info ls)

 

4、文件类型

Linux系统下的文件类型包括如下:

- :普通文件(如:-rw-r--r--)

d :目录(如:drwxr-xr-x)

l :符号链接(如:lrwxrwxrwx)

c :字符设备文件(底层设备文件用不到)

b :块设备文件(底层设备文件用不到)

s :套接字(底层设备文件用不到)

p :命名管道(底层设备文件用不到)

 

5、目录操作命令

1)ls :显示指定目录和文件的信息

2)pwd :显示当前目录名称即当前路径

3)cd :进入指定的目录(如:cd ..退回到上一级目录;cd /退回到根目录;cd ../../..退回到上两级目录)

4)mkdir :创建指定名称的目录 (如:mkdir name)

5)rmdir :删除指定名称的目录(如:rmdir name删除空目录)

6、文件操作命令

1)file :显示指定文件的类型(file /etc/passwd)

2)touch :创建指定名称的文件或更新文件时间(如:touch king;touch king.txt)

3)cp :复制文件或目录(cp filename copyfilename;复制目录需要加参数cp -r home home1)

4)rm :删除文件或目录(rm filename;删除目录需要加参数rm -r home确认式删除,rm -rf home直接删除)

5)mv :移动文件或目录,文件或目录(mv filename /home;移动目录mv home opt)

 

7、文本文件查看命令

1)cat :显示全部文本文件内容(cat filename)

2)more :分页显示文本文件内容,空格键分页(more /etc/passwd)

3)less :分页显示文本文件内容,并可方便反复浏览(less/etc/passwd)

4)head :显示文件首部内容(head -5 /etc/passwd)

5)tail :显示文件尾部内容(tail -5 /etc/passwd)

 

三、命令操作技巧

1、使用命令补全

只需输入部分目录名、文件名等然后按tab键

 

2、使用命令历史

1)最简单的方法是使用上下方向键

2)用history命令来显示历史命令

3)用!!执行最近执行过的命令(例:!! 会执行上下键上翻的第一个命令)

4)用!执行已经执行过的命令(例:!t 会执行history记录中最近的t开头的命令touch;!213 执行history记录中第213行的命令)

 

3、标准输入输出

 

 

4、使用输入、输出重定向

系统重定向就是不使用系统的标准的输入、输出、错误输出端口,而进行重新的指定,所有重定向分为输入、输出、错误重定向,通常情况下重定向到一个文件

 

<实现输入重定向。输入重定向不经常用,因为大多数命令都以参数的形式在命令行上指定输入文件的文件名,尽管如此,当使用一个不接受文件名为输入参数的命令,

而需要的输入又是一个已存在的文件里,就可以使用输入重定向解决问题

例如:通过读取文本test1并将test1中的内容写入到空文件test2中

cat <test1>test2

统计文件中的行数和字数

wc -l -w < /etc/passwd

 

>或>>实现输出重定向。输出重定向比输入重定向更常用,输出重定向使用户能把一个命令的输出重定向到一个文件里,而不是显示在屏幕上。

很多情况下都可以使用此功能。例如,如果某个命令的输出很多,在屏幕上不能完全显示,即可把它重定向到一个文件中,稍后再用文本编辑器来打开这个文件

例如:将当前目录下目录或文件的打印重定向写入到test.txt文件中(不显示在屏幕,需要打开test.txt文件查看)

ls >test

将ls命令生成的/tmp目录的一个清单存到当前目录中的dir文件

ls -l /tmp > dir

将ls命令生成的/etc目录的一个清单以追加的方式存到当前目录中的dir文件中

ls -l /etc >> dir

>和>>的区别:

>输出重定向的时候,当下次再重定向到同一个文件的时候之前的内容就会被覆盖

>>输出重定向的时候,当下次再重定向到同一个文件的时候是以追加的形式保存

 

2>或>>实现错误重定向

例如:不存在的命令lss的错误信息被重定向写入到了err文件中

lss 2> err

将错误信息直接保存至dir文件

aaa 2> err_file

 

&>同时实现输出重定向和错误重定向

例如:标准信息输出和错误信息输出都不想显示在屏幕上重定向写入到err文件中

ls &> err

将错误信息直接保存至dir文件

aaa &>dir

 

 

5、管道

许多Linux命令具有过滤特性,即一条命令通过标准输入端口接受一个文件中的数据。命令执行后产生的结果数据又通过标准输出端口送给最后一条命令,作为该命令的输入数据。

后一条命令也是通过标准输入端口而接受输入数据

管道命令“|”将这些命令前后连接在一起,形成一条管道线,格式如下:

命令格式:cmd1|cmd2

cmd命令名

|管道连接符

 

例:

1)分屏显示文本文件/etc/passwd的内容:cat /etc/passwd | more

2)统计文本文件/etc/passwd的行数,字数和字符数:cat /etc/passwd | wc

3)查找是否存在lrj的用户账号:cat /etc/passwd | grep lrj

4)查看引导信息中关于第1块网卡的信息:dmesg | grep eth0

5)查看系统是否安装了apache软件包:rpm -qa | grep httpd

 

 

四、文件权限与设置

1、文件权限,每个文件或目录都有9个基本权限位控制其读、写、执行。

r :读--可以读文件的内容,可以列出目录中的文件列表

w :写--可以修改、删除文件,可以在该目录中创建、删除文件

x :执行--可以执行文件,可以使用cd进入该目录

权限说明:

1)目录上只有执行权限,表示可以进入此目录以及深层次目录

2)目录上只有执行权限,要访问该目录下的有读权限文件,必须知道文件才可以访问

3)目录上只有执行权限,不能列出目录列表也不能删除该目录

4)目录上执行权限和读权限的组合,表示可以进入目录并列出目录列表

5)目录上执行权限和写权限的组合,表示可以在目录中创建和重命名文件

 

特殊权限位:若无特殊需要,尽量不要打开这些权限,避免安全方面出现漏洞

三个特殊权限位是在可执行程序运行时影响操作权限的。

SUID

当设置了SUID位的可执行文件被执行时,该文件将以所有者的身份运行,也就是说无论谁来执行这个文件,他都有文件所有者的特权。

SGID

当一个设置了SGID位的可执行文件运行时,该文件将具有所属组的特权,任意存取整个组所能使用的系统资源;

若一个目录设置了SGID则所有被复制的这个目录下的文件,其所属的组都会被重设为和这个目录一样。

sticky-bit

对一个文件设置了sticky-bit之后,尽管其他用户有写权限,也必须由属主执行删除、移动等操作;

对一个目录设置了sticky-bit权限后,那么存放在该目录下的文件或目录只能由其属主执行删除、移动等操作

 

2、查看文件或目录的权限

ls -l 或 ll

例如:drwxr-xr-x :d表示目录;权限分3部分,rwx表示文件创建者有读、写、执行权限;r-x表示对用户组有读、执行权限;r-x表示对其他用户有读、执行权限

 

如:用root用户创建一个目录test,该目录默认权限即上面的;创建一个用户king,并切换到king用户;king用户进入到test目录创建文件失败(没有权限)

mkdir test

ll

useradd king

su - king

cd /test

touch aa.txt没有权限

 

cd ..

修改test目录的权限:chmod 007 test/

cd test

touch aa.txt成功

 

3、权限文字表示法和数值表示法

权限项读写执行读写执行读写执行

字符表示rwxrwxrwx

字符示例u+ru+wu+xg+rg+wg+xo+ro+wo+x

数字表示421421421

权限分配文件所有者文件所属组用户其他用户

 

4、chmod命令设置权限

1)字符方式:

添加权限

chmod g+w test/aa给aa.txt文件的组用户添加写权限

chmod u+rw test/aa给aa.txt文件的所属用户添加读写权限

 

删除权限

chmod g-w test/aa删除aa.txt文件的用户组的写权限

chmod u-rwx test/aa删除aa.txt文件的所属用户的所有权限

 

2)数字方式:

chmod 777 test/aa设置aa.txt文件的3个组全部只有读、写、执行权限

chmod 555 test/aa设置aa.txt文件的3个组全部只有读、执行权限

chmod 444 test/aa设置aa.txt文件的3个组全部只有读权限

chmod 000 test/aa设置aa.txt文件的3个组全部没有任何权限

chmod 745 test/aa设置aa.txt文件的所属用户有读、写、执行权限,所属组用户只有读权限,其他用户有读、执行权限

 

5、chown命令修改属主和组

shown king:king test/将root用户创建的test目录的所有者和所属组变更为king用户和king组

 

 

要求:有一个共享目录share,只能由test1用户和test2用户可以对该共享目录下的文件彼此进行任意操作

1)、创建两个用户:useradd test1useradd test2

2)、创建共享目录:mkdir share

3)、切换用户到test1进入到share目录创建文件

su - test1

cd share

touch aaa失败没权限

4)、调整share的权限(用组的方式管理,所以不调整第3组的权限位)

su - root

chmod 770 share/

5)、调整组(因为当前组是root)

创建分组share:

groupadd share

调整用户分组(将test1和test2添加到分组share):

useradd -G share test1

useradd -G share test2

查看用户的id:可以查看到两个用户已经在share分组中

id test1

id test2

 

调整共享目录share分组(share所属分组由root修改为share):

chgrp share share/

 

6)、调整share目录的权限为特殊权限位SGID:

目前显示:drwxrwx--- 2 root share 4096 Aug 31 01:22 share

调整为特殊权限SGID:

chmod 2770 share/

目前显示:drwxrws--- 2 root share 4096 Aug 31 01:22 share

7)、现在test1和test2可以修改share中彼此操作自己和对方的东西了

 

五、系统查找

1、which查找文件

which aa

which是查找可执行程序的文件,且在环境变量路径中的目录下查找的。所以查询结果取决于用户环境的设置

当前环境变量的设置查看命令:env

修改环境变量的设置文件:

vim /root/.bash_profile

追加自定义的path内容

:wq

重新登录才能生效查看

 

2、whereis查找指定文件

whereis passwd

查找自己的数据库,适合查找软件安装的可执行程序、配置文件、及帮助文档

whereis mysql

 

3、locate查找

模糊查询比which、whereis要详细的多,适合可执行程序,相关的说明

locate passwd或 locate passwd > info 查询比较多可以重定向到某个文件中查看

 

4、find查找

功能强大、过滤条件多

find :把目录下的所有文件都列出来,包括隐藏文件

示例如下:

与时间相关的参数-atime ,-ctime与-mtime

find / -mtime 0

find / -mtime 3

与使用者或组名相关的参数-user name ,-nouser ,-group name

find / -user zhangsan

find / -nouser

find / -group share

与文件权限相关的参数-name ,-type TYPE ,-size

find / -name passwd

find / -type f

find特殊功能

find / -size +1000k

find /etc -name '*pass*'

find / -perm +7000 “-perm”是查找特殊权限的

 

 

六、系统进程管理与作业控制

 

service httpd start启动httpd web服务

ps -ef | grep httpd查询httpd 服务的进程

ps aux | grep apache查找apache相关的进程

 

守护进程

ps -ef | grep sendmail查看守护进程sendmail邮件服务

service sendmail stop关闭守护进程sendmail邮件服务

 

交互进程

创建一个文件aa,输入一句话,修改权限位可执行文件

./aa执行可执行文件aa

 

./aa &后台执行可执行文件aa

 

 

杀掉进程

killall -u apache   杀掉apache(杀的是子进程,由于父进程没有被杀掉,稍后会继续派生出新的子进程)

kill 3957    杀掉apache主进程

 

ps -ef | grep tomcat    查看开启的Tomcat服务进程(启动了几个项目)

killall -9 java     杀到所有java(Tomcat)相关的进程

 

执行有些命令时时间比较长,可“ctrl+z”暂时停止,用jobs命令查看任务号,再bg 任务号 将该进程隐藏后台执行,不耽误前台其他操作

jobs查看任务

fg 1调到前台执行

bg 1调到后台执行

 

 

 

 

七、Linux系统yum安装软件

Linux安装软件的方式:

 

1、使用yum工具管理软件包的方式(安装软件的依赖关系是由yum源仓库设置好的)

1)搜索相关的软件包:yum search httpd

2)列出软件的详细信息:yum list httpd

3)安装指定的软件包:yum install httpd

4)升级指定的软件包:yum update httpd

5)卸载指定的软件包:yum remove httpd

6)升级系统:yum update

 

更换yum软件仓库源:

/etc/yum.repos.d/CentOS Base.repo

默认的仓库源是国外的,为保证速度,更换成国内的,先备份:

mv CentOS Base.repo CentOS Base.repo.backup(名字变更后,yum不会执行)

http://mirrors.163.com网易大型开源镜像站

1)下载文件对应版本的.repo文件

wget http://mirrors.163.com/.help/CentOS5-Base-163.repo

2)生成缓存

yum makecache

3)使用yum命令操作,如:yum search jdk1.8

 

 

 

 

2、使用RPM工具管理软件包的方式(需要自己分析安装软件的依赖关系)

 

RPM软件包的文件名:bash-3.0-19.2i386.rpm

由软件包名称、版本号、软件运行硬件平台、软件包扩展名组成

 

1)查询已安装在Linux系统中的RPM软件包信息:rpm -qa

2)查询指定名称的软件包是否安装:rpm -q 包名称

3)查询指定名称的软件包的详细信息:rpm -qi 包名称

4)查询指定名称的软件包中所包含的文件列表:rpm -ql 包名称

5)查询指定文件所属的软件包:rpm -qf 文件名称

6)查询指定RPM包文件的详细信息:rpm -qpl 包文件名

7)查询指定RPM包中包含的文件列表:rpm -qpl 包文件名

8)rpm命令配合“-i”选项用于安装RPM软件包:rpm -i vim-enhanced-6.3.035-3.i386.rpm

9)rpm命令配合“-ivh”在安装RPM软件包时会显示更多的提示信息:rpm -ivh vim-enhanced-6.3.035-3.i386.rpm

10)rpm命令配合“-e”选项用于卸载RPM软件包(RPM软件包的卸载同样存在依赖关系,被依赖的软件应该最后被卸载):rpm -e vim-enhanced-6.3.035-3.i386.rpm

11)rpm命令配合“-U”选项用于升级RPM软件包(当系统中未安装需要升级的软件包时,升级的过程等同于安装软件包的过程)

 

WinSCP软件

 

 

 

例如:

rpm -qa | grep

rpm -qa httpd

 

 

 

 

 

 

 

 

3、使用程序源代码包的编译安装方式

 

应用程序与命令的关系:

1、基本命令式是Linux系统中不可缺少的组成部分

2、命令保存在/bin和/sbin目录中

3、应用程序保存在/usr/bin和/usr/sbin目录中

4、命令的作用是完成对Linux系统本身的管理工作,应用程序则完成与Linux系统管理相对独立的任务

5、命令只能以命令行的形式运行,命令格式中包括命令字、命令选项和命令参数

6、应用程序可以是以命令行的形式运行,也可以是字符界面或图形界面的窗口程序,形式比较多样

 

应用程序中不同类型文件保存在Linux系统的不同目录中

普通执行程序文件---/user/bin

服务器执行程序文件和管理程序文件---/usr/sbin

应用程序配置文件---/etc

应用程序文档文件---/usr/share/doc

应用程序手册页文件---/usr/share/man

 

 

程序源代码包的编译安装方式的安装步骤:

1)确认当前系统中具备软件编译的环境(没有gcc环境的需要先安装gcc):rpm -qa | grep gcc

2)获得应用程序的源代码软件包文件:wget http://nginx.org/download/nginx-1.3.5.targz

3)解压缩源代码软件包文件:tar zxf nginx-1.3.5.tar.gz

4)进行编译前的配置工作:

进入源代码目录:cd nginx-1.3.5

 

安装配置工作:./configure (指定安装路径进行配置:./configure --prefix=/opt/nginx)

 

备注:

程序源代码目录中的“configure”命令用于完成程序编译前的配置工作,如果缺少nginx依赖库则需要先安装依赖库,该命令可反复操作

查看“configure”命令支持的配置选项:./configure --help

 

 

5)进行程序源代码的编译

make(使用make命令进行应用程序的编译)

 

6)将编译完成的应用程序安装到系统中

make install (使用make install命令进行应用程序的编译)

 

验证(执行)已编译安装完成的程序

查看安装目录中的文件,执行命令:cd /opt/nginx; ls

 

7)运行nginx

./nginx

ps -ef | grep nginx 查看是否运行起来

 

 

 

八、用户和组的管理

创建一个新用户时,若没有指定他所属的组,Linux就建立一个和该用户同名的私有组,该私有组只包括用户自己。

标准组可以容纳多个用户。

 

etc/passwd用户文件

“lisi:x:501:501:This is a test user:/home/lisi:/bin/bash”

lisi:用户名

x:密码

501:用户标识号

501:组标识号

This is a test user:注视你性描述

/home/lisi:自家目录

/bin/bash:命令解释器

 

 

etc/shadow用户密码文件

 

etc/group组文件

“root:x:0:root”

root:组标识

x:组密码

0:标识号

root:账号(root组包含的账号)

 

etc/gshadow组密码文件

 

 

 

创建用户:useradd -c "This is a test user" lisi

vim /etc/passwd

lisi:x:501:501:This is a test user:/home/lisi:/bin/bash

 

修改用户名:usermod -l zhangsan lisi (将lisi修改为zhangsan,改变的只是一个登录的名称,用户目录是没有改变的)

vim /etc/passwd

zhangsan:x:501:501:This is a test user:/home/lisi:/bin/bash

 

锁定用户:usermod -L zhangsan 该用户不能登录

解锁用户:usermod -U zhangsan 

 

删除用户:userdel lisi(用户被删除后,/home/用户目录还存在)

  userdel -r lisi(删除用户及/home/用户目录及邮件)

 

 

 

创建组:groupadd share

修改组名:groupmod -n share2 share

vim /etc/group

 

删除share2组:groupdel share2 (删除用户不等于删除组)

 

 

例子:将一个用户加入到一个标准组

groupadd share

useradd -G share zhangsan

 

vim /etc/passwd

zhangsan:x:500:501::/home/zhangsan:/bin/bash

 

vim /etc/group

share:x:500:zhangsan

zhangsan:x:501:

 

 

切换到root用户:

默认安装完成之后并不知道root用户的密码,那么如何应用root权限呢?

(1)sudo 命令  

xzm@ubuntu:~$  sudo

 

这样输入当前管理员用户密码就可以得到超级用户的权限。但默认的情况下5分钟root权限就失效了。

 

(2)sudo -i

xzm@ubuntu:~$  sudo -i

 

通过这种方法输入当前管理员用户的密码就可以进到root用户。

 

(3)如果想一直使用root权限,要通过su切换到root用户。

那我们首先要重设置root用户的密码:

 

xzm@ubuntu:~$  sudo passwd root

 

这样就可以设置root用户的密码了。

 

 

(4)之后就可以自由的切换到root用户了

xzm@ubuntu:~$  su

 

输入root用户的密码即可。

 

su "king" 或者 exit回到用户权限

 

重启MySQL数据库

1、通过rpm包安装的MySQL

 

     service mysqld restart

 

2、从源码包安装的MySQL

 

// linux关闭MySQL的命令

$mysql_dir/bin/mysqladmin -uroot -p shutdown

// linux启动MySQL的命令

$mysql_dir/bin/mysqld_safe &

 

其中mysql_dir为MySQL的安装目录,mysqladmin和mysqld_safe位于MySQL安装目录的bin目录下,很容易找到的。

 

3、以上方法都无效的时候,可以通过强行命令:“killall mysql”来关闭MySQL,但是不建议用这样的方式,因为这种野蛮的方法会强行终止MySQL数据库服务,有可能导致表损坏……所以自己掂量着用

 

 一、启动方式

 

1、使用 service 启动:service mysqld start

2、使用 mysqld 脚本启动:/etc/inint.d/mysqld start

3、使用 safe_mysqld 启动:safe_mysqld&

 

二、停止

 

1、使用 service 启动:service mysqld stop

2、使用 mysqld 脚本启动:/etc/inint.d/mysqld stop

3、mysqladmin shutdown

 

三、重启

1、使用 service 启动:service mysqld restart

2、使用 mysqld 脚本启动:/etc/inint.d/mysqld restart

 

 

 重启Redis服务:

如果是用apt-get或者yum install安装的redis,可以直接通过下面的命令停止/启动/重启redis

 

/etc/init.d/redis-server stop 

/etc/init.d/redis-server start 

/etc/init.d/redis-server restart

 

如果是通过源码安装的redis,则可以通过redis的客户端程序redis-cli的shutdown命令来重启redis

 

1.redis关闭 

redis-cli -h 127.0.0.1 -p 6379 shutdown

 

2.redis启动 

redis-server

 

如果上述方式都没有成功停止redis,则可以使用终极武器 kill -9

 

 

 

 

 

 

 

 

 

 

一、SSH登录命令

口令登录

ssh命令用于远程登录上Linux主机。

常用格式:ssh [-l login_name] [-p port] [user@]hostname

不指定用户,默认使用root账户登录ssh 192.168.0.11 

指定用户:ssh root@192.168.0.11

修改过ssh登录端口的可以:ssh -p 12333 root@192.168.0.11

 

公钥登录

 

authorized_keys文件登录

 

 

二、切换用户

su

语法:su [ - ] username,后面可以跟 - ,也可以不跟

例子:su

  su -

输出:

不加username时默认切换到root用户;

当su 命令加上 - 后,会初始化当前用户的各种环境变量,目录为root账户的根目录;如果不加 - 切换到root用户时,当前目录没有变化

当由root切换到普通用户时,正常切换命令或者直接exit命令即可,不需要输入密码

 

sudo

语法:

例子:

输出:

 

 

三、查找文件

which:依序从path环境变量所列的目录中找出command的位置,并显示完整路径的名称。在找到第一个符合条件的程序文件时,就立刻停止搜索,省略其余未搜索目录

语法:which command

例子:which ls找出ls命令的程序文件的位置

输出:usr/bin/ls

 

whereis:找出特定程序的可执行文件、源代码文件以及manpage的路径。你所提供的name会被先除去前置的路径以及任何.ext形式的扩展名。只会在标准的Linux目录中进行搜索

语法:whereis [option] name

常用选项

-b只搜索可执行文件。

-m只搜索manpage。

-s只搜索源代码文件。

-B directory更改或限定搜索可执行的文件的目录。

-M directory更改或限定搜索manpage的目录。

-S directory更改或限定搜索源代码文件的目录

例子:whereis -b mysql找出mysql命令的程序文件的位置

输出:/usr/bin/mysql /usr/lib64/mysql /usr/share/mysql

 

 

find:以paths为搜索起点逐层往下找出每一个符合expression条件的文件,并对该文件执行action所代表的动作。expression是搜索条件,它由一个代表匹配项目的选项以及一个代表匹配模式的参数构成。action是处理动作,它有一个代表“处理方式”的选项以及一个操作参数构成。若不指定action,则默认动作是显示出文件名

语法:find paths expression [action]

常用的搜索条件:找出名称、路径名称或符号链接的目标匹配pattern模式的文件。pattern可以包含shell的文件名通配符,路径是相对于搜索起点的

-name pattern 

-path pattern 

-lname pattern

常见处理动作:显示出文件的相对路径(相对于搜索起点)

-print

例子:

输出:

 

 

locate:第一次执行locate时,它会建立一个索引数据库,当往后再次执行时,它便从索引数据库中迅速找出文件的位置。locate很适合用来反复搜索很少变动的目录树,但是对于刚改名的旧文件以及新建的文件,locate就找不到了,除非重建数据库

语法:locate patterns

例子:

输出:

 

注:

updatedb:更新slocate的索引数据库

语法

updatedb [option]

 

 

 

 

 

四、查找安装目录

1、适合安装路径加入PATH里

查看文件安装路径:

whereis oracle

查询运行文件所在路径:

which oracle

 

2、如果是源码安装的话,你可以使用-prefix指定安装路径,这样,你可以很轻松知道软件的安装路径

源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install),具体的安装方法一般作者都会给出文档,这里主要讨论配置(configure)。Configure是一个可执行脚本,它有很多选项,使用命令./configure –help输出详细的选项列表

 

3、如果是rpm包安装的话,可以使用rpm -qal查询一下

rpm -qf /路径/程序名 可以查到一个程序属于哪个rpm包,然后rpm -ql那个包可以看到那个包的所有文件和路径等等。还可以解开成一个cpio文件等等之类的,仔细研究一下rpm的参数完全可以做到任何你想做的

 

 

五、查看进程

ps:查看当前正在运行的进程

语法:ps

例子:

ps ax : 显示当前系统进程的列表 

ps aux : 显示当前系统进程详细列表以及进程用户

 

辅助上grep 用于搜索匹配(注意下面的一条才是)

ps -ef | grep java

 

 

 

 

 

六、服务操作

kill -l PID 

-l选项告诉kill命令用好像启动进程的用户已注销的方式结束进程。

当使用该选项时,kill命令也试图杀死所留下的子进程。

但这个命令也不是总能成功--或许仍然需要先手工杀死子进程,然后再杀死父进程。

 

 

kill 命令用于终止进程

例如: kill -9 [PID]

-9 表示强迫进程立即停止

这个强大和危险的命令迫使进程在运行时突然终止,进程在结束后不能自我清理。

危害是导致系统资源无法正常释放,一般不推荐使用,除非其他办法都无效。 

当使用此命令时,一定要通过ps -ef确认没有剩下任何僵尸进程。

只能通过终止父进程来消除僵尸进程。如果僵尸进程被init收养,问题就比较严重了。

杀死init进程意味着关闭系统。 

如果系统中有僵尸进程,并且其父进程是init,

而且僵尸进程占用了大量的系统资源,那么就需要在某个时候重启机器以清除进程表了

 

 

killall 命令杀死同一进程组内的所有进程。其允许指定要终止的进程的名称,而非PID。 

# killall httpd 

 

 

pkill 使用方法同上,可以很方便杀死某用户的所有进程

pkill firefox

 

pkill -u root杀死某用户的所有进程

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    Linux总结.xmind

    菲菲常常详详细细的Linux总结,面试常考点!

    Linux总结(超方便超详细).md

    Linux总结(超方便超详细).md

    嵌入式Linux总结

    ### 嵌入式Linux总结知识点 #### 一、虚拟机环境下配置交叉编译工具问题 **背景**:在嵌入式开发过程中,通常需要在宿主机上搭建一个虚拟环境来模拟目标系统的编译环境。这里提到的问题是在64位虚拟机环境下配置...

    jslinux总结帖

    【标题】"jslinux总结帖"所涉及的知识点主要集中在JavaScript和Linux操作系统上,通过将JavaScript与Linux结合,实现了一种独特的技术体验。JavaScript是一种广泛应用于网页和网络应用的编程语言,而Linux则是开源的...

    linux总结笔记+企业实战案例.docx

    Linux2020总结笔记+企业实战案例, 分为基础篇(包括linux介绍、安装和基础命令使用等),进阶(企业实战,数据库服务器实战等),高级(shell实战,自动化运维实战,高并发集群等) ,希望能够帮助到大家

    ARM和linux总结_开端篇.rar

    【ARM和Linux总结_开端篇】的文档涵盖了嵌入式系统开发中的两个核心部分:ARM处理器架构和Linux操作系统。ARM是Advanced RISC Machines的缩写,是一种广泛应用在移动设备、物联网设备以及各种嵌入式系统中的处理器...

    linux总结.xmind

    linux总结.xmind

    Linux总结,shell编程实例

    在IT领域,Linux操作系统是许多专业技术人员不可或缺的工具,尤其对于服务器管理、自动化任务和脚本编写来说。本文将深入探讨Linux系统的核心概念以及shell编程的实际应用,旨在帮助读者掌握Linux环境下的工作技能。...

    linux总结

    linux命令个人总结 1. ls最为常用的命令之一 1. linux 的命令格式: 命令字 命令选项 命令参数 2. cd ~返回用户宿主目录 cd . 用户的当前目录 cd .. 返回上一级目录 3. pwd 查看用户所在的目录 4. mkdir 创建...

    Linux操作系统总结与心得.doc

    Linux操作系统是计算机科学领域的重要组成部分,它是一种自由和开源的Unix-like操作系统。Linux的核心由Linus Torvalds创建,它的命名来源于开发者本人的名字。Linux不仅仅是一个操作系统内核,它还包括了GNU工具集...

    Linux命令总结.ppt

    Linux命令总结.ppt

    windows移植linux总结

    在IT行业中,跨平台开发是一项重要的任务,尤其是将软件从Windows环境移植到Linux系统。本文将深入探讨这一过程,涵盖文档、API对比、内存泄漏工具以及处理方法。 首先,移植的文档是整个移植过程的基础。这包括源...

    linux工作总结

    在Linux操作系统中,掌握安装软件和基本命令是每个IT专业人士必备的技能。下面将详细讲解在Linux环境下如何安装软件及常用的操作命令。 1. **软件安装** Linux提供了多种安装软件的方法,具体取决于你的发行版。最...

    linux总结(目录结构)待完善,详见附件

    这篇总结主要针对Linux的目录结构进行详述,以便更好地理解和操作Linux系统。 首先,Linux遵循的是UNIX风格的目录结构,其根目录用“/”表示。这个根目录下包含了所有其他目录,它们各自扮演着特定的角色。下面是对...

    Linux操作总结

    根据这段的学习,对Linux基础操作的一些总结,希望可以帮到更多的人

    linux总结基础

    通过以上内容,我们可以总结出Linux操作系统的核心知识点包括:其自由软件的历史背景、核心人物Linus Torvalds及其开发过程、Linux开源社区的形成和贡献、Linux的GPL授权协议以及其广泛的应用场景。在实际应用中,...

    山东大学软件学院Linux期末总结

    Linux总结.docx和考试重点.docx则整理了核心知识点,便于集中复习;16-linux网络基础.ppt、06-Shell.ppt等PPT文件深入浅出地介绍了各个主题,适合回顾和巩固。 掌握Linux不仅对学术研究有帮助,也是IT行业尤其是...

    linux常用命令总结

    linux详细命令总结 linux详细命令总结 linux详细命令总结 linux详细命令总结 linux详细命令总结 linux详细命令总结 linux详细命令总结 超级详细

Global site tag (gtag.js) - Google Analytics