zoukankan      html  css  js  c++  java
  • Linux bash

    一、终端基础

    本文摘录一些本人在学习Linux(CentOS 6.6) bash命令,并且会不定期保持更新。

    在此先介绍一下Linux shell终端的常规命令输入格式,如下图:
    image
    上图中root是用户名,hadoops02为机器名,符号~为用户登陆后的默认工作目录(即$HOME),紧挨着右中括号后面的符号#(或者$)被称之为“Linux命令提示符”。
    提示符$ - 代表一般身份的用户
    提示符# - 代表root身份

    image
    上图中可以看到husr01是一个一般用户所以提示符显示为$,而root的提示符显示为#,可以看出~对应到他们各自的$HOME也是不相同的。

    二、Linux计算机设置


    [修改计算机名]
    # vi /etc/hosts
    # vi /etc/sysconfig/network
    修改完毕后记得reboot重启确保生效
    ####################################
    我虚拟机下的CentOS 6.6机器名配置如下

    image
    -----------------------
    [查看本计算机名称]
    # hostname
    -----------------------
    [查看系统cpu,内存及进程情况]
    top -n 1   详细参考:http://www.jb51.net/article/40807.htm
    [查看SELinux状态]
    # /usr/sbin/sestatus
    [禁用SELinux]
    # vi /etc/selinux/config
    将SELINUX=enforcing改为SELINUX=disabled后重启生效
    [设置防火墙不开机启动]
    chkconfig iptables off
    -----------------------
    [重启网络服务]
    # /etc/rc.d/init.d/network restart
    [禁用ipv6]
    # vi /etc/modprobe.d/dist.conf
    结尾添加
    alias net-pf-10 off
    alias ipv6 off
    [修改网卡信息]
    # vi /etc/sysconfig/network-scripts/ifcfg-eth0
    [启用/停用网卡]
    # ifup eth0
    # ifdown eth0
    -----------------------
    [立即关机]
    # shutdown –h now
    [重启]
    # reboot
    -----------------------
    [显示系统版本]
    # lsb_release -a
    # cat /etc/issue
    image
    -----------------------
    [更改某个用户的密码]
    # passwd {username}
    [登出账户]
    # logout
    -----------------------
    [查看某个服务状态]
    # service vsftpd status
    [查看正在监听的端口]
    netstat -an
    [查看某个端口是否被占用]
    netstat -tunlp |grep 22
    [查看进程占用的端口]
    netstat -tunalp|grep xxxname
    [查看所有进程]
    ps -aux
    [设置某个服务开机启动]
    # chkconfig vsftpd on
    [设置防火墙]
    # vi /etc/sysconfig/iptables
    [关闭防火墙]
    # /etc/init.d/iptables stop
    [永久性关闭防火墙]
    # chkconfig --level 35 iptables off
    [为防火墙添加一个tcp端口(下面例子用的是80)]
    # vi /etc/sysconfig/iptables
    // 在文件适当的位置添加一行
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
    // 保存并退出vi
    :wq
    # service iptables restart
    [用wget下载整站]
    # wget -r -p -np -k http://xxx
    [按照格式显示系统时间]
    # date '+%Y-%m-%d %H:%M:%S'
    [用cat命令写内容到文件里]
    cat > /etc/yum.repos.d/yun-idc.repo << EOF
    xxx
    EOF
    [查看网卡接口速率信息]
    # ethtool eno2

    三、目录操作


    [删除一个带文件的目录]
    # rm -rf /xxdir
    [挂载光盘到某个目录]
    # mount /dev/cdrom /media
    [卸载光盘]
    # umount /dev/cdrom
    [查找目录下的特定文件]
    # find /media -name '*java*'
    [将当前工作目录下的goproj文件夹打包]
    # tar -zcvf goproj.tar.gz goproj
    [解压tar.gz]
    # tar zxpf VMwareTools-9.9.0-2304977.tar.gz
    [解压tar]
    # tar -xvf xx.tar
    [解压tar.gz到某个目录]
    # tar -C /home -xzf xxx.tar.gz 
    [复制目录1到目录2]
    # cp –r {目录1} {目录2}
    [创建一个目录]
    # mkdir /usr/java
    [复制文件]
    # cp /tmp/jdk-6u45-linux-x64.bin /usr/java
    [移动文件]
    # mv src dest
    [移动文件夹]
    # mv /home/xxx/* dest 
    [重命名文件夹]
    # mv hadoop-1.2.1 hadoop
    [切换当前工作目录]
    # cd xxx
    [更改一个文件或目录的权限]
    # chmod 700 ~/.ssh
    [打印当前工作目录]
    # pwd
    [显示当前目录文件夹及文件]
    # ll -al
    [查看某文本文件最后10行内容]
    # tail -n 10 xxx.log

    四、软件安装卸载操作


    [rpm方式安装某个软件]
    # rpm -ivh /media/Packages/vsftpd-2.2.2-12.el6_5.1.x86_64.rpm
    [rpm查看已安装的某个软件]
    # rpm -qa '*java*'
    [rpm卸载某个软件]
    # rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-11.1.13.4.el6.x86_64
    [使用yum安装rpm包]
    # yum localinstall xxx.rpm

    五、其他

    [过滤显示某配置文件的#行及空行]
    # grep -v "#" /etc/zabbix/zabbix_agentd.conf|grep -v "^$"

    本文内容会不定期更新,欢迎查阅。

  • 相关阅读:
    Android 系统开发做什么?
    MySQL索引-B+树
    转:redis雪崩、穿透、击穿
    转:django3上线部署踩得坑
    nginx、uwsgi部署django中session丢失得问题
    类型转换(数字转字符串等)
    JS基础篇1:数据类型(8种)
    css3动画与js动画的区别
    drag拖拽事件
    三栏布局,中间自适应
  • 原文地址:https://www.cnblogs.com/highend/p/linux_bash_shell.html
Copyright © 2011-2022 走看看