一、字符界面操作基础
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
常见处理动作:显示出文件的相对路径(相对于搜索起点)
例子:
输出:
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总结,面试常考点!
Linux总结(超方便超详细).md
### 嵌入式Linux总结知识点 #### 一、虚拟机环境下配置交叉编译工具问题 **背景**:在嵌入式开发过程中,通常需要在宿主机上搭建一个虚拟环境来模拟目标系统的编译环境。这里提到的问题是在64位虚拟机环境下配置...
【标题】"jslinux总结帖"所涉及的知识点主要集中在JavaScript和Linux操作系统上,通过将JavaScript与Linux结合,实现了一种独特的技术体验。JavaScript是一种广泛应用于网页和网络应用的编程语言,而Linux则是开源的...
Linux2020总结笔记+企业实战案例, 分为基础篇(包括linux介绍、安装和基础命令使用等),进阶(企业实战,数据库服务器实战等),高级(shell实战,自动化运维实战,高并发集群等) ,希望能够帮助到大家
【ARM和Linux总结_开端篇】的文档涵盖了嵌入式系统开发中的两个核心部分:ARM处理器架构和Linux操作系统。ARM是Advanced RISC Machines的缩写,是一种广泛应用在移动设备、物联网设备以及各种嵌入式系统中的处理器...
linux总结.xmind
在IT领域,Linux操作系统是许多专业技术人员不可或缺的工具,尤其对于服务器管理、自动化任务和脚本编写来说。本文将深入探讨Linux系统的核心概念以及shell编程的实际应用,旨在帮助读者掌握Linux环境下的工作技能。...
linux命令个人总结 1. ls最为常用的命令之一 1. linux 的命令格式: 命令字 命令选项 命令参数 2. cd ~返回用户宿主目录 cd . 用户的当前目录 cd .. 返回上一级目录 3. pwd 查看用户所在的目录 4. mkdir 创建...
Linux操作系统是计算机科学领域的重要组成部分,它是一种自由和开源的Unix-like操作系统。Linux的核心由Linus Torvalds创建,它的命名来源于开发者本人的名字。Linux不仅仅是一个操作系统内核,它还包括了GNU工具集...
Linux命令总结.ppt
在IT行业中,跨平台开发是一项重要的任务,尤其是将软件从Windows环境移植到Linux系统。本文将深入探讨这一过程,涵盖文档、API对比、内存泄漏工具以及处理方法。 首先,移植的文档是整个移植过程的基础。这包括源...
在Linux操作系统中,掌握安装软件和基本命令是每个IT专业人士必备的技能。下面将详细讲解在Linux环境下如何安装软件及常用的操作命令。 1. **软件安装** Linux提供了多种安装软件的方法,具体取决于你的发行版。最...
这篇总结主要针对Linux的目录结构进行详述,以便更好地理解和操作Linux系统。 首先,Linux遵循的是UNIX风格的目录结构,其根目录用“/”表示。这个根目录下包含了所有其他目录,它们各自扮演着特定的角色。下面是对...
根据这段的学习,对Linux基础操作的一些总结,希望可以帮到更多的人
通过以上内容,我们可以总结出Linux操作系统的核心知识点包括:其自由软件的历史背景、核心人物Linus Torvalds及其开发过程、Linux开源社区的形成和贡献、Linux的GPL授权协议以及其广泛的应用场景。在实际应用中,...
Linux总结.docx和考试重点.docx则整理了核心知识点,便于集中复习;16-linux网络基础.ppt、06-Shell.ppt等PPT文件深入浅出地介绍了各个主题,适合回顾和巩固。 掌握Linux不仅对学术研究有帮助,也是IT行业尤其是...
linux详细命令总结 linux详细命令总结 linux详细命令总结 linux详细命令总结 linux详细命令总结 linux详细命令总结 linux详细命令总结 超级详细