Linux对于服务器上的使用十分广泛,所以学好Linux也十分重要,掌握常用的命令并且灵活使用十分关键!
以下是对一些简单的Linux命令或相关知识的整理:
一些常见的目录:
/root/home
/lib
/lost+found
/etc ☆ 系统管理所需的配置文件和子目录
/usr ☆ 很多应用程序和文件都放在这里
/boot ☆ 启动Linux时的核心文件
/proc 虚拟的目录,系统内存的映射
/srv service缩写,为服务提供数据
/sys linux内核文件
/dev ☆ 硬件信息
/media ☆ U盘,光盘
/mnt 临时挂载别的文件系统
/opt ☆ 软件安装包的目录
/usr/local ☆
/var 存放数据库数据文件、Tomcat日志文件
/selinux 安全子系统,只能控制访问特定的文件
Linux系统的命令行下的文本编辑器vim的使用
* 一般模式:所有键都可能是组合快捷键
dd 删除一行
dnd 删除n行
u 回退,恢复
x 类似delete
X 类似backspace
yy 复制光标当前行
p粘贴
dw 删除一个词
ym 复制一个词
shift+g 页尾
1+shift+g
* 编辑模式
i:在光标前边插入
a:在原先光标后边插入
o:下一行插入
* 命令模式
一般模式下输入:
:wq
:q! 强制退出不保存
:noh 去除高亮
:set nu
- help可能会有的命令没有帮助文档;man的话,每个命令都有,按q退出
date
格式化:date +%Y"-"%m"-"%d" "%H":"%M":"%S
date +%F" "%T
cal 日历
./执行脚本
pwd print working directory
ll展示的文件的详细信息:
-文件 d目录 l软链接 s ?
权限
文件硬链接数|目录下的文件数(不包括 隐藏的目录,每个目录都有. 和 ..)
所属人和所属组
大小
更改时间
文件名
ls -lh(人性化展示)
ls -l | grep .conf (筛选查询,|管道符 grep表示查询筛选)
mkdir 文件夹名
(没有提示消息,一般正确)
mkdir -p 多级目录
创建新文件
touch 文件名
vim 不存在的文件名
echo 内容>文件名
rmdir 删除空目录
rm -rvf 强制删除 v表示提示
运行rm -rf 时,不要加变量
如果有重要资料被删除了,直接拔下电源,拆下硬盘,交给专业人士花钱处理
-r 这个参数是通用的,表示递归
cp 复制文件
复制文件夹的时候 cp -r
cp -rvf a / 提示是否覆盖
\cp -rv a /强制覆盖
mv 移动文件
mv 文件名 新文件名(修改文件名)
mv 文件名 指定目录
cat
cat 文件名 查看文件内容
(只适合打开小文件)
cat 文件1 文件2 连接显示多个文件
cat 文件1 文件2>文件3 合并为新文件
cat 文件1>文件2 覆盖到新文件中
cat 文件1>>文件2 追加到新文件中
more 查看较长的文件
空格:代表向下翻页
ctrl+F:向下滚动一屏
ctrl+B返回上一屏
q:离开
less 和more类似,功能更多
推荐使用
tail 从尾部开始查看,适合查看日志
tail 文件名 -n行数
-f 跟随查看(文件新修改的及时更新显示出来,更适合查看日志)
history
查看历史命令
echo
输出环境变量
find 查找文件
find+搜索路径+参数+搜索关键字
eg:find ./ -name "*.conf"
locate 根据索引查询
updatedb 更新文件索引
tmp目录不会建索引
软链接
ln -s 原文件目录名 软链接名
☆tar 压缩文件|解压文件
以 .tar .gz 结束的文件
-z
-x 解压
-c 压缩
-v 提示
-f
(tar -zxvf 压缩包名) 解压
(tar -zcvf 压缩包名 文件夹名)压缩
zip
压缩 zip -r a.zip a/*
解压 unzip a.zip
分区
分区方式
MBR
1、只支持4个主分区
2、系统只能装在主分区上
3、扩展分区占一个主分区
GPT
win7 64
1、不限主分区
2、支持3T以上磁盘
Linux属于MBR
lsblk或者lsblk -f (楼上暴力狂)
sr0 表示光驱
sda (disk a表示第一块硬盘)
sda1 /boot
sda2 /
sda3 [SWAP]
加-f 显示UUID
分区命令
fdisk /dev/sdb
格式化磁盘
mkfs -t ext /dev/sdb1
(对应的UUID就有了)
挂载(好比一个门)
将一个分区与一个目录联系起来
mount /dev/sdb1 /newdir
取消挂载
umount /dev/sdb1或umount /newdir
用命令行挂载重启后会失效
永久挂载
通过修改/etc/fstab实现挂载
添加完成后,执行mount -a即刻生效
磁盘情况查询
df -h 查询 系统整体磁盘使用情况
du -h /目录
创建一个目录默认4k,ls只查目录大小,不会算里边的一个个文件
du -ach --max-depth=1 /etc
Linux用户与权限管理
用户的操作
新增用户:useradd 用户名
设置密码:passwd 用户名,输入密码
用户是否存在:id 用户名
uid 用户id,gid 组id
切换用户:su - 用户名
从高权限切到低权限不需要密码
查看当前用户:whoami(我是谁)
who am i (我到底是谁),查看最开始登录系统的用户是谁
删除用户:userdel
用户组的操作
新增组:groupadd 组名
删除组:groupdel 组名
修改用户的组:usermod -g 用户组 用户名
增加用户时直接加上组:useradd -g 用户组 用户名
相关文件在哪里?
用户的配置文件:/etc/passwd
有系统自带的,也有安装一些软件时添加的
密码的配置文件:/etc/shadow
组的配置文件:/etc/group
rwxrwxrwx
123456789
u g o
123代表所有者的权限
456代表所属组的权限
789表示其他用户的权限
r读 w写 x执行
对文件:
r 可查看
w 可修改,不代表可删除(删除文件是对当前目录的修改)
x 可以被系统执行
对目录:
r 可以ls查看目录内容
w 可以在目录内创建删除重命名
x 可以进入该目录
修改权限:
1、第一种方式
可以通过+、-、=变更权限
chmod u=rwx,g=...
2、第二种方式,通过数字
r=4 w=2 x=1 rwx=4+2+1=7
改变文件所有者
chown 用户名 文件名
改变所有和所有组
chown 用户名:组名 文件名
-R 如果是目录,使其目录下所有的子文件或目录递归生效
chgrp 组名 文件名 改变文件的所有组
关于rpm和yum
RPM (RedHat Package Manager)
Redhat软件包管理工具
rpm list|grep xx
安装
(安装包在media下的光盘里)
rpm -ivh rpm包名
-i 安装 -v 查看信息 -h 人性化显示
卸载
rpm -e 程序名
只能安装rpm安装包
yum
类似于maven,可以从镜像网站上下载应用程序,并直接安装
yum list|grep xx 软件列表
yum install xxx 下载安装(自动匹配适合的版本)
搭载Linux下的开发环境
opt 把安装包放到这里
解压安装包 tar -zxvf
配置环境变量的配置文件?
vim /etc/profile
插入(注意=两边不能有空格)
JAVA_HOME=/opt/jdk1.7.0_79
PATH=/opt/jdk1.7.0_79/bin:$PATH
环境变量各个目录间用 : 分隔,$PATH表示把原先环境变量追加过来;
export JAVA_HOME PATH
完事之后直接
source /etc/profile 就可以了
运行tomcat之后,需要开放8080端口
vim /etc/sysconfig/iptables
复制22哪一行,修改一下
然后重启一下防火墙
service iptablse restart
查看tomcat的日志
tail -f catalina.out
☆☆☆进程类命令
ps (process)
运行ps命令时,最后总会有一个ps进程
ps -a 所有进程信息
ps -u 以用户格式显示
ps -x 显示运行参数
使用:ps -aux
系统感觉变慢时,使用此命令查看一下
ps -ef 以全格式显示当前所有的进程
pid 进程id
ppid 父进程id
uid 用户id
ps -ef | grep xxx
进行筛选
查询java相关的进程?
反问为何查询?
如果查询java的系统占用 ps -aux|grep
如果为了杀死对应进程 ps -ef|grep
杀死进程
kill pid
最新打开的,pid应该越大
对话 或 已经僵死的程序直接kill不了
kill -9 pid 强制杀死进程
killall 进程名称 通过进程名称杀死进程
服务,守护进程
service
用法start stop status restart reload
eg:network iptables(防火墙)
chkconfig --list 查出所有服务的状态
/etc/init.d/服务名
服务放在这个文件夹里
关于运行级别(runlevel)
vim /etc/inittab
0 - halt 停止
1 - Single user mode 单用户工作状态
2 - 多用户,没网没图形化界面
3 - 多用户,有网没图形化界面☆
4 - 系统保留的
5 - 多用户,有网有图形化界面
6 - reboot
开机过程
开机->BIOS->/boot->init进程->运行级别->运行级别对应的服务
chkconfig --level 5 iptables off
关闭服务
chkconfig --level 5 iptables on
启动服务
联网的时候一定要开着防火墙
netstat -anp 查看端口运行情况
按一定排列输出,显示那个进程在调用
如果端口被占用,查看对应端口
netstat -anp|grep 8080