平时使用CentOS较多,部分指令在Ubuntu上可能不通用。Linux命令浩如烟海,不可能全部记住,查看指令的详情可以使用:
man command_name
查看详情或者
command_name --help
简单查看指令参数和基本介绍。
查询以前输过的历史指令可用
history
,但全部列出挨个找还是不太方便,用快捷键
ctrl+r
可以快速搜索历史指令。
版本查询
uname –r/a
more /proc/version
cat /etc/os-release
cat /etc/redhat-release
lsb_release -a # CentOS6都可以查询linux系统版本号
java –version # java版本
./version.sh # cd到tomcat的bin目录下
mvn –v # maven版本号
vsftpd –v # ftp服务器版本号
./redis-server –v #切换到redis的src目录下
./mongo #切换到mongodb的bin目录
防火墙与SeLinux、SSH
systemctl start/stop/enable/disable firewalld.service # CentOS7 firewall启动/开机启动配置
systemctl status firewalld # 查看防火墙状态
chkconfig iptables --list # CentOS6查看防火墙状态
service iptables stop/status # 暂时关闭防火墙
chkconfig iptables off # 彻底关闭
ufw status/stop # Ubuntu关闭防火墙
sestatus –v #查看selinux状态
getenforce #查看selinux模式
setenforce 0 #临时关闭selinux
vim /etc/sysconfig/selinux #更改为disabled,重启生效,该文件为/etc/selinux/config软链
ssh-keygen –t rsa
ssh-copy-id xxx
sudo /etc/init.d/sshd start
service sshd start
cat ~/.ssh/id_rsa.pub #查看本机的公钥,添加该key到github便可以登录,同样其他机器要想登录本地就要将其他机器的公钥添加到该目录下的authorized_keys里面
主机名、用户相关
vim /etc/sysconfig/network #RH系列
vim /etc/hosts #ip和host的映射关系,各Linux发行版都有
w #查询当前登录用户
last -n #查询过去n个登录用户
sudo passwd user_name #更改密码
sudo useradd user_name #新增用户
sudo passwd user_password #新增用户密码
su user_name #切换用户,默认是root,这种方式工作目录和环境变量还是原来的
su - user_name #工作目录也会变,切换尽量采用这种方式
chown zhang:zhang /home/jdk1.8 #更改用户和组
usermod -a -G group_name user_name #添加用户到用户组
查看系统资源情况
df -h #查看硬盘状况
du -sh * #查看文件夹及所占空间
top #查看CPU占用等情况,可以找出占用cpu最大的线程(top后输入P)
free #查看系统内存使用
其他查看命令解释;
http://www.cnblogs.com/zhuiluoyu/p/6154898.html
关于free的详解:
http://www.cnblogs.com/coldplayerest/archive/2010/02/20/1669949.html
注意新的CentOS7上已经有所不同,具体可以man free
查看用法。
软件相关
yum remove xxx #CentOS卸载软件
whereis XXX #查看软件位置
rpm -ivh example.rpm #安装rpm包
文件及文件夹、管道命令
ls -l | grep ^d #只显示文件夹
ls -l | grep ^- #只显示文件
cat/less/more file_name #查看文件内容的几种方式
rm -rf dir_name #删除非空文件夹
tar –zxvf ./text.tar.gz -C /home/app/test/ #解压至特定目录
xz -d ***.tar.xz #解压.xz文件
tar -xvf ***.tar #xz文件其实是tar压缩后的
chmod u+w /etc/sudoers #更改文件权限
tree -d -L 3 jdk1.8.0_66/ #查看目录结构,只看三层和文件夹;注意该指令需要先安装
tail -200f anymock-service-digest.log.2017-02-17 #查看日志
ln -s apache-tomcat-8.5.29/ tomcat #创建文件夹符号链接
管道命令
cut:将一行的数据进行分解,常用于分析一些数据或文本的时候。
grep
sort
wc
uniq
echo $PATH | cut -d ':' -f 3,5 #显示以:为分隔符的第3和第5项内容
export | cut -c 12- #显示第12个字符以后的
last | grep root #查找root
last | grep -v root #显示除root外的
grep -10 449620 *2017-02-17 --color –a #查看文本文档中含有44962并显示前后的10行
last |grep robin | cut -d ' ' -f 1 #取出包含robin行中的第一列
ps -ef | wc -l #查看共有多少进程
ps -ef | awk 'END{print NR}' #作用同上
网络与进程相关
ifconfig eth0 down #卸载
ifconfig eth0 up #加载
sudo /etc/init.d/network start
netstat –lntp
ps -l #很多进程后面都带d,d是daemon的缩写,说明它自己是个守护进程(daemon) ,它在后台运行,一般都是用来做服务端程序,比如mysqld代表是mysql数据库服务的守护进程。
ps axf # 显示进程见关联的树状结构图
ps -p PID -o lstart # 查看进程的启动时间
参考资料: