您的位置:首页 > 运维架构 > Linux

Linux基本命令及常识的回顾整理

2017-12-31 00:49 183 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: