Linux基础命令三

1.sudo权限指令
sudo允许系统管理员让普通用户执行一些或者全部的root命令

2.进程和端口号
ps -ef将后台所有的进程打印出来
ps -ef|grep tail将后台进程中过滤的关键词tail进程打印
grep -v过滤排除

[root@hadoop001 ~]# ps -ef|grep tail
root      3140  2981  0 02:05 pts/1    00:00:00 tail -F tail.log
root      3144  2919  0 02:06 pts/0    00:00:00 grep tail
[root@hadoop001 ~]# ps -ef|grep tail | grep -v grep
root      3140  2981  0 02:05 pts/1    00:00:00 tail -F tail.log
[root@hadoop001 ~]# ps -ef|grep 2981
root      2981  2977  0 01:28 pts/1    00:00:00 -bash
root      3140  2981  0 02:05 pts/1    00:00:00 tail -F tail.log
root      3172  2919  0 02:19 pts/0    00:00:00 grep 2981
[root@hadoop001 ~]# 

root 3140 2981 0 02:05 pts/1 00:00:00 tail -F tail.log
每一个进程都有自己的id号,其中3140代表不唯一的id 2981是父id,是bash的id

3.杀死进程
kill -9 pid
杀死多个进程:kill -9 2873 3764
pgrep -f tail 将tail过滤出来的进程打印出来
[root@hadoop001 ~]# echo $(pgrep -f tail)
将打印出来的进程由纵列变成横列
[root@hadoop001 ~]# kill -9 $(pgrep -f tail)
杀死关于tail命令的所有进程
提醒:生产上假如非要执行kill杀进程,一定要确认清楚是否真的需要kill

4.端口号

[root@hadoop001 ~]# ps -ef|grep ssh
root      1475     1  0 Jun19 ?        00:00:00 /usr/sbin/sshd
root      2915  1475  0 01:09 ?        00:00:01 sshd: root@pts/0 
root      2977  1475  0 01:28 ?        00:00:00 sshd: root@pts/1 
root      3230  2919  0 02:42 pts/0    00:00:00 grep ssh
[root@hadoop001 ~]# netstat -nlp|grep 1475
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1475/sshd           
tcp        0      0 :::22                       :::*                        LISTEN      1475/sshd           
[root@hadoop001 ~]# 

netstat显示网络的状态
ssh端口号不能为22,需要调整
找到ssh的进程pid 1475,再通过pid找到该进程的端口号
1475对外提供的服务是22,有时候一个进程有很多个端口号(对内),只有一个端口号(对外)

过滤进程的正常流程:
进程名称–>pid–>port
1.可以通过port检验端口号是否正确是否变更
2.打开xx机器上面的httpd上的web界面,先要了解httpd的端口号是多少ps -ef|grep http

找网卡
一种是ifconfig
另一种是cat /etc/hosts

[root@hadoop001 ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:52:41:4B  
          inet addr:192.168.0.130  Bcast:192.168.0.255  Mask:255.255.255.0
[root@hadoop001 ~]# service httpd start
Starting httpd: httpd: apr_sockaddr_info_get() failed for hadoop001
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
                                                           [  OK  ]

启动端口号 service httpd start

[root@hadoop001 ~]# ps -ef|grep http
root      1845  1816  3 20:43 pts/0    00:00:18 /usr/bin/python /usr/bin/yum install httpd
root      1900     1  0 20:51 ?        00:00:00 /usr/sbin/httpd
apache    1903  1900  0 20:51 ?        00:00:00 /usr/sbin/httpd
apache    1904  1900  0 20:51 ?        00:00:00 /usr/sbin/httpd
apache    1905  1900  0 20:51 ?        00:00:00 /usr/sbin/httpd
apache    1906  1900  0 20:51 ?        00:00:00 /usr/sbin/httpd
apache    1907  1900  0 20:51 ?        00:00:00 /usr/sbin/httpd
apache    1908  1900  0 20:51 ?        00:00:00 /usr/sbin/httpd
apache    1909  1900  0 20:51 ?        00:00:00 /usr/sbin/httpd
apache    1910  1900  0 20:51 ?        00:00:00 /usr/sbin/httpd
root      1918  1857  0 20:54 pts/1    00:00:00 grep http
[root@hadoop001 ~]# 

其中1900位为下面所有端口号的父进程,
查看1900对外的端口号是80
默认的访问是80端口号

[root@hadoop001 ~]# netstat -nlp|grep 1900
tcp        0      0 :::80                       :::*                        LISTEN      1900/httpd          
[root@hadoop001 ~]# 

对外提供服务的必须提供端口号,无端口号无法访问
端口号对外服务的ip地址,假如为127.0.0.1或localhost,只能在这台的机器上访问这个服务
一般这个地址为机器的IP或0.0.0.0或:::,表示对外的任意IP可以服务

3.搜索:一种通过find命令搜索,一种通过history搜索
find / -name ‘tail’
find / -name ‘tail
加’ '的是全称搜索
加‘* ’号的是模糊匹配,例如:加号可以模糊匹配到abtail、abtailc、tailc
find /root -name ‘tail
搜索root目录下面匹配的符合的tail文件或文件夹
很少从根目录开始搜索,一般从特定的目录开始

4.安装rpm包
安装:yum install xxx
停服务:service xxx stop
卸载:yum remove xxx
安装mysql : yum search mysql
安装mysql,mysql分为服务版和客户端,当不清晰服务端和客户端全称的时候,可以通过简写search,搜索mysql镜像源下面所匹配的库
yum install mysql 会提示yes or no 如果不想输入的话,yum install -y mysql ,安装后显示安装的是libs,但真实需要是服务端mysql-server.x86_64,客户端mysql.x86_64
Downloading Packages:
(1/2): mysql-5.1.73-8.el6_8.x86_64.rpm | 895 kB 00:00
(2/2): mysql-libs-5.1.73-8.el6_8.x86_64.rpm | 1.2 MB 00:00

[root@hadoop001 ~]# yum install -y mysql-server.x86_64 mysql.x86_64
[root@hadoop001 ~]# service httpd stop
Stopping httpd:                                            [  OK  ]
[root@hadoop001 ~]# yum remove httpd

进入mysql服务:
service mysqld start
mysql -uroot -p 不需要输入密码

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
+--------------------+
3 rows in set (0.00 sec)

mysql> 

exit命令用于退出目前的shell。 执行exit可使shell以指定的状态值退出

mysql> exit
Bye

rpm -qa搜索出这台机器中所有的软件包,过滤需要的mysql
一种卸载:yum remove ,但是可以补全名字:yum remove mysql-server-5.1.73-8.el6_8.x86_64
另一种卸载:rpm -e
不校验依赖性
卸载包的时候抛出依赖性,需要加参数–nodeps
rpm -e --nodeps httpd-2.2.15-69.el6.centos.x86_64

5.which
which指令会在环境变量$PATH设置的目录里查找符合条件的文件
which ls
whereis ls
java -version查看Java的版本

[root@hadoop001 ~]# echo $PATH 
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@hadoop001 ~]# which ls
alias ls='ls --color=auto'
        /bin/ls
[root@hadoop001 ~]# whereis ls 
ls: /bin/ls /usr/share/man/man1p/ls.1p.gz /usr/share/man/man1/ls.1.gz
[root@hadoop001 ~]# 

当ls执行的时候,去环境变量$PATH里面以:号为分隔,一层层查找

[root@hadoop001 ~]# whereis ls 
ls: /bin/ls /usr/share/man/man1p/ls.1p.gz /usr/share/man/man1/ls.1.gz
[root@hadoop001 ~]# cd /usr/lib64/qt-3.3/bin
[root@hadoop001 bin]# ll
total 0
[root@hadoop001 bin]# vi ls
[root@hadoop001 bin]# chmod +x ls
[root@hadoop001 bin]# 
[root@hadoop001 bin]# which ls
alias ls='ls --color=auto'
        /usr/lib64/qt-3.3/bin/ls
 [root@hadoop001 bin]# ls
 ls       
[root@hadoop001 bin]# rm -f ls
[root@hadoop001 bin]# which ls
alias ls='ls --color=auto'
        /bin/ls

6.Win上传到Linux文件
文件是压缩的文件或者是普通的文本文件,不会是文件夹
yum install lrzsz 文件从Win上传到Linux
第一步 [root@hadoop001 bin]# yum install lrzsz
第二步[root@hadoop001 bin]# rz
弹窗里面选择window的文件进行传输
sz filename 将Linux的文件传输给window
设置属性-文件传输-选择下载路劲,文件传输时将不再次次询问

7.jdk的目录必须放在/usr/java
如文件夹未创建mkdir -p /usr/java
解压jdk的包,tar -xzvf jdk-8u45-linux-x64.gz -C /usr/java/
解压后cd /usr/java/

[root@hadoop001 ~]# tar -xzvf jdk-8u45-linux-x64.gz  -C /usr/java/
[root@hadoop001 ~]# cd /usr/java/
[root@hadoop001 java]# ll
total 4
drwxr-xr-x. 8 uucp 143 4096 Apr 11  2015 jdk1.8.0_45
[root@hadoop001 java]# 

JDK解压的时候用户和用户组发生变更 必须修正
修改用户和用户组的命令:chown -R root:root /usr/java/jdk1.8.0_45
修正后用户和用户组为root

8.配置全局环境变量
vi etc/profile
查看JAVA HOME路径灵活使用cd、pwd
vi /etc/profile
进入vi模式末行输入JAVA HOME=/usr/java/jdk1.8.0_45/
并配置PATH= J A V A H O M E / b i n : {JAVA_HOME}/bin: JAVAHOME/bin:PATH
配置新的环境变量一定追加到前面,配置到后面可能查找的是之前旧的
=号前后不能有空格
source /etc/profile
which java
java -version
whereis java

9.查看IP
window:ipconfig
Linux:ifconfig
服务对外ip:portyou有可能抛错误:connection refused 连接拒绝 用telnet ip port
timeout 超时 用ping ip/hostname
telnet ip port window位置在控制面板-程序和功能-启动或关闭window功能-勾选Telnet
linux 先安装 yum install -y telnet然后在telnet端口号和IP

[root@hadoop001 ~]# which telnet
/usr/bin/telnet
[root@hadoop001 ~]# telnet 192.168.0.130 80   
Trying 192.168.0.130...
Connected to 192.168.0.130.
Escape character is '^]'.

10.以hostname去连接
[root@hadoop001 ~]# ping hadoop001
ping: unknown host hadoop001
[root@hadoop001 ~]#
原因是映射关系未配置导致也就是机器的名称对应的IP未进行配置
Linux配置方式:vi /etc/hosts 输入IP地址和机器名称
window配置方式: C:\Windows\System32\drivers\etc\hosts
注意 没有权限修改 直接复制一份桌面上,修改后 拖拽 覆盖即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值