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 "^$"

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

原文地址:https://www.cnblogs.com/highend/p/linux_bash_shell.html