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

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





  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值