liunx环境常用命令记录


1. 关机重启
  【sync:将数据又内存同步到磁盘中;shutdown[选项] 时间:多久关闭;halt:关闭系统 =poweroff;reboot 重启系统】
2.ssh 远程:
  SecureCRT 工具:免安装
3. 用户:
  useradd 添加用户:useradd test
  passwd 设置用户密码:passwd test
  id 判断用户是否存在:id test
  su 切换用户
  userdel 删除用户 userdel test:只删除用户保存主目录;userdel -r test:用户和用户主目录都删除
  who 查看登录用户信息 whoami:查找用户名; who am i:查看登录时间;who:查看用户
  设置普通用户具有 root 权限 修改文件 /etc/sudoers,添加 test ALL=(ALL) ALL ,再使用 sudo 命令:sodu mkdir la 新建文件 la;
  usermod 修改用户:usermod -g 用户组 用户名 把用户添加到用户组里
  用户组:
    groupadd 新增组
    groupdel 删除组
    groupmod 修改组
    cat /etc/group 查看创建了那些组
  普通用户操作:
    创建目录获取文件 【两种方式:1. 切换到主用户 su root;2. 提升普通用户权限,在 /etc/sudoers 中修改 test ALL=(ALL) ALL;然后使用 sodu mkdir 文件名来 创建】
    修改文件的用户和创建者: sudo chown test:test 文件 1/ 文件 2 ;直接将文件 1 和文件 2 的组用户和拥有者都改为 test

4. 快捷键:
  ctrl+c ctrl+q ctrl+l tab 上下键
5. 文件:
  文件前面的位数表示:
  第一位: - 文件 d 目录

  2-4: 用户的 r w x

  5-7: 用户组的 r w x

  8-10: 其他组的权限 r w x

  . 后面的数字代表 引用的次数

  第 12 位: 拥有者

  第 13 位:用户组
6.yum
  yum(Shell 前端软件包管理器,基于 RPM 包管理)能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安 装所有的软件包,无须繁琐地一次次下载、安装
  yum install -y httpd
  yum list
  yum clean all
  yum deplist httpd
  yum remove httpd
本地 yum 制作
  1. 将 CentOS-6.8-x86_64-bin-DVD1.ios 镜像挂载到 /mnt/cdrom 目录
    mkdir /mnt/cdrom
    mount -t iso9660 -o rw /dev/cdrom /mnt/cdrom
  2. 修改 yum 源配置文件,将源指向自己
    备份原有的 yum 源的配置文件
    cd /etc/yum.repos.d
    cp CentOS-Base.repo CentOS-Base.repo.bak
    编辑 CentOS-Base.repo 文件
    vi CentOS-Base.repo
    修改一下内容保存退出:
    name=CentOS-Local
    baseurl=file:///mnt/cdrom
    gpgcheck=1
    endbled=a 增加的
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
    清理 YUM 缓冲
    yum clean all
    列出可用的 YUM 源
    yum repolist
    安装相应的软件
    yum install -y httpd :httpd 相应软件
    开启 httpd 使用浏览器访问 http://192.168.174.99:80(如果访问不通检查防火墙是否开启了 80 端口或者防火墙)
    cservice httpd start
    将 yum 源配置到 httpd(Apache Server)中,其他的服务器即可通过网络访问这个内网中的 yum 源了
    cp -r /mnt/cdrom/ /var/www/html CentOS
    浏览器中访问:http://192.168.1.99/CentOS 测试配置是否成功

    新的局域网内其他节点的机器同样执行上面的内容可以获取到本地 yum 内容

7、克隆虚拟机
  准备一台干净的虚拟机(opt 文件下、防火墙、查看 ip、查看 host、是否能够联网 )
  删除文件 rm -rf 文件名
  查看防火墙 chkconfig
  查看防火墙列表 chkconfig iptables --list
  service iptables status
  临时关闭防火墙 service iptables stop
  关闭防火墙 chkconfig iptables off
  开启防火墙 chkconfig iptables on
  查看 ip ifconfig
  查看主机名 hostname

  关机 -->VMware--> 选中虚拟机 --> 右键克隆 --> 下一步(注意修改数据)
  删除重复网卡并且复制新生成的网卡
    1.root 用户 vi /etc/udev/rules.d/70-persistent-net.rules(vi/etc/u../r../70.. n..)
    2. 删除复制之前机器的网卡 ;
    3. 修改网卡名 NAME='eth1' 为 NAME='eth0';
  修改 ip 和机器码:
    1.root 用户 vi /etc/sysconfig/network-scripts/ifcfg-eth0
    2. 机器码上次复制的内容
    3.ip 自己填写
  修改主机名
    root 用户 - vi /etc/sysconfig/network
  修改 host
    1.root 用户 - vi /etc/hosts/
    2. 一次性可以多配置些 ip,这样方便后面复制时不用每次配置多个主机 ip【用于集群使用】
      如:192.168.187.200 hadoop200
        192.168.187.201 hadoop201
        192.168.187.202 hadoop202
  关闭防火墙
  重启
    sync reboot
  检查: 完成下面三件事
    ifconfig hostname ping

8. 常用命令:
  ps -aux 全部进程
  top -d 设置进程查看刷新的时间 ,可以看到所有进程使用的情况 P M N(各种排序)
  pstree 进程树
  netstat -anp 系统当前网络情况,包括连接 数据包传递 路由表
  gzip/gunzip 只能将文件解压缩为 *.gz 文件(不保留原文件)
  zip/unzip 可以将多个文件解压缩到一个文件中(保留原文件)

最常用解压缩:
  tar -zcvf XXX.tar.gz f1.txt f2.txt d1.zip d2.gz
  tar -zxvf XXX.tar.gz -C 解压目的地
    -c 产生.tar 打包文件
    -v 显示详细信息
    -f 指定压缩后的文件名
    -z 打包同时压缩
    -x 解压.tar 文件
  basename 只保留文件名,文件路径全部删掉, 取的是相对路径
  dirname 只保留文件路径,文件名删除掉,取的是绝对路径


grep 文本搜索可以使用正则 把匹配的打印出来 并把 -help 查看更多参数

  例: ps -ef | grep sshd |grep -v grep 查找指定服务进程,反选本身以外的所有列举
  cat a.txt | grep -nf b.txt 从文件中读取关键词进行搜索,显示行号
  cat a.txt | grep ^u a.txt 中查找以 u 开头的内容
  cat a.txt | grep ^[^u] a.txt 中查找非 u 开头的内容

find 在目录结构中搜索文件,并对搜索结果执行指定操作

find 默认搜索当前目录及其子目录,并且不过滤任何结果(返回所有文件)显示在屏幕上

find -help 查看帮助

locate 快速的搜索指定档案,
其方法是先建立一个包括系统在内所有档案名称及路径的数据库,之后搜索只需查找这个数据库(var/lib/locatedb)

Linux 系统自动创建这个数据库,默认每天自动更新一次,所以使用 locate 命令使用前需要先使用 updatedb(更新数据库) 命令
精简版 CentOS 系统需要安装 locate 命令 yum -y install mlocate(安装 locate 命令)

whereis 命令是定位可执行文件 源代码文件 帮助文件在文件系统的位置 ,这个命令也是从数据库中查找

which 命令的作用是在 path 变量指定的路径中,搜索某个系统命令位置,并且返回第一个搜索结果 使用 which 命令可以看到某个系统命令是否存在以及执行的到底是哪一个位置的命令 (因为环境变量 path 的不同,所以每个用户查找结果不一样)

vi 编辑器:
一般模式(yy 复制当前行、p 粘贴、u 撤销、dd 删除当前行、 x:键盘上的 del、X:键盘上的 back ) ;
编辑模式(进入:i、a、o;退出:esc);
指令模式(保存::w 保存 q 退出!强制;/: 查找 n 向下,shift+n 向下)


yy 复制
p 粘贴

i a o 文档编辑

wq!强制保存并退出

/ n 向上 shift 向下

cat 查看

-f 行

-nf 行号

vi a.txt 新建文件 a.txt

-ls 显示文件 列举

ll 查看当前目录下所有文件

-name 以文件名

-perm 以权限

-type f 以普通权限

-type d

-size

cp 源文件 目标文件夹 / 复制到目标文件下

cp -r 源文件 目标文件 / 递归复制 全部复制到到目标文件下


rm 删除文件包括文件夹

rm -rf 强制删除干净

mv 文件 目标文件 / 移动文件

mv 文件 文件 重命名

cat -n 查看时有行号

cat —A 查看全部,包括文件中的特殊字符

tac 反查看 :文本反看

more 查看一页 ctrl F 向下滚动一屏 ctrl B 向上一屏

head -n 10 查看前 10 行

tail -n 10 查看后 10 行

tail -f 10 动态显示文件后 10 行

ls -l 文件 : 查找列表写到文件中(覆盖写)

ls -al 文件 : 查出的列表追加到文件后

echo 内容 >> 存储内容的文件 : 将显示的内容存储到文件中

echo 变量 显示变量的值

ln -s[原文件][目标文件]

cd -p

history 查看所有的敲写过的命令

date 查看当前时间

date +%Y%m% 20171012

date +"%Y-%m-%d %H%M%S"

date -d "next day"

date -s "2017-06-30 11:34:23" 设置时间

cal 2017 查看 2017 年的日志

cal 查看日历

cat etc/group 查看组

groupmod -n 新组名 老组名 : 改组名

usermod -g 组名 账户 : 把账户归到组下

chmod u+x 文件 : 改变权限,自己可执行权限

chmod g-w 文件 :改变组的权限 ,组取消写的权限

chamod o+w 文件 :其他组的权限

chamod a+w 文件 : 所有的权限

chamod 777 文件 ; 全部都具有 ,用二进制的方式表示

chown 最终用户 文件或者目录 :改变文件或者目录的拥有者

chgrp 最终用户 文件或者目录 :改变组

chown 用户:组名 : 一次两个都改变


fdisk 只用 root 有的查看的非区功能

df 查看硬盘

mount/umount 挂载 / 卸载

mount -t 文件类型 -o rw /dev/cdrom /mnt/cdrom 文件位置 目标位置

umou nt /mnt/cdrom

mnt:挂载目录

echo: 打印 echo 1 -> /etc/myid 把 1 直接追加到 myid 文件中

把系统环境变量全部写到用户的变量中: cat /etc/profile >> ~/.bashrc


让命令行提示显示完整路径:
  1、编辑 frefile 文件, 添加环境变量 PS1
    [/etc/profile]
    export PS1 = '[\u@\h `pwd`]\$'
  2、source
    source /etc/profile
使用符号链接:
  将文件包括文件内容指定到对应的文件中
  创建 b 符号链接

  实例 将 a 文件夹指定到 b 上(a 是已有的文件夹,b 并不需要创建)

  ln -s /opt/moduels/a /opt/moduels/b
查看虚拟机内存使用:
  free -h

查看 liunx 的命令的文档
man {free,use,ll,rm,.....}

====================== 网络适配 centos-6 和 7 的区别 =========================================
centos-6:
网络适配
# vi /etc/udev/rules.d/70-persistent-net.rules
复制 ATTR{address}=="00:0c:29:e1:bc:79" 引号中的值到 ifcfg-etho0 中
ip 配置
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
防火墙
service iptables status (功能描述:查看防火墙状态)
chkconfig iptables –list (功能描述:查看防火墙开机启动状态)
service iptables stop (功能描述:临时关闭防火墙)
chkconfig iptables off (功能描述:关闭防火墙开机启动)
chkconfig iptables on (功能描述:开启防火墙开机启动)

centos-7:
网络适配:
# vi /etc/sysconfig/network-scripts/ifcfg-eno16777736
ip 配置(centos7 不操作)

防火墙:
# vi /etc/sysconfig/selinux
将设置改为禁用:SELINUX=disabled,
# systemctl stop firewalld.service(关闭防火墙)
# systemctl disable firewalld.service(防火墙开机禁用)
# systemctl status firewalld.service(关闭防火墙)
修改 hostname
vi /etc/hostname
修改 hosts
vi /etc/hosts
是否带界面启动
参考文件 cat /etc/inittab 中说明
systemctl set-default multi-user.tartget / graphical.target (关 / 开)

 

查看端口是否启动
netstat -ano | grep 50070

将前台进程切换为后天进程的方式:
在启动命令最后添加 &
启动命令启动之后再 使用命令 bg 切换为后台进程,hg 切换为前台进程,
在启动命令前加:nohup


liunx 上下载文件。
命令:
wget + 地址(如:https://www.apache.org/dyn/closer.lua/spark/spark-2.4.0/shony2.4.0-bin-hadoop2.7.tgz)


查看是否集成
which python
phthon --version

liunx 端口占用服务查看方式:
netstat -anp|gerp 6379
lsof -i:6379
ps -ef|grep redis|grep -v grep