Linux 的常用命令

linux的命令操作,这里简单的记录一下常用的。
1、日常操作命令
查看当前所在的工作目录
pwd
查看当前系统的时间
date
查看有谁在线(哪些人登陆到了服务器)
who 查看当前在线
last 查看最近的登陆历史记录
修改开机的等待时间
2、文件系统操作
显示信息ls
ls / 查看根目录下的子节点(文件夹和文件)信息
ls -al -a是显示隐藏文件 -l是以更详细的列表形式显示
切换目录
cd /home
创建文件夹
mkdir aaa 这是相对路径的写法
mkdir -p aaa/bbb/ccc
mkdir /data 这是绝对路径的写法
删除文件夹
rmdir 可以删除空目录
rm -r aaa 可以把aaa整个文件夹及其中的所有子节点全部删除
rm -rf aaa 强制删除aaa
修改文件夹名称
mv aaa angelababy
创建文件
touch somefile.1 创建一个空文件
echo "i miss you,my baby" > somefile.2 利用重定向“>”的功能,将一条指令的输出结果写入到一个文件中,会覆盖原文件内容
echo "huangxiaoming ,gun dan" >> somefile.2 将一条指令的输出结果追加到一个文件中,不会覆盖原文件内容
查看文件多少个单词,多少行
wc -w README
wc -l README
查看文件
tail -f somefile 根据inode 节点跟踪
tail -F somefile 根据 文件名 跟踪
解压和压缩
1.gzip压缩
gzip a.txt

2.解压
gunzip a.txt.gz
gzip -d a.txt.gz

3.bzip2压缩
bzip2 a

4.解压
bunzip2 a.bz2
bzip2 -d a.bz2

5.将当前目录的文件打包
tar -cvf bak.tar .
将/etc/password追加文件到bak.tar中(r)
tar -rvf bak.tar /etc/password

6.解压
tar -xvf bak.tar

7.打包并压缩gzip
tar -zcvf a.tar.gz

8.解压缩

解压到/usr/下
tar -zxvf a.tar.gz -C /usr

9.查看压缩包内容
tar -ztvf a.tar.gz

zip/unzip

10.打包并压缩成bz2
tar -jcvf a.tar.bz2

11.解压bz2
tar -jxvf a.tar.bz2

用vi文本编辑器来编辑生成文件
**最基本用法
vi somefile.4
1、首先会进入“一般模式”,此模式只接受各种快捷键,不能编辑文件内容
2、按i键,就会从一般模式进入编辑模式,此模式下,敲入的都是文件内容
3、编辑完成之后,按Esc键退出编辑模式,回到一般模式;
4、再按:,进入“底行命令模式”,输入wq命令,回车即可
**一些常用快捷键
一些有用的快捷键(在一般模式下使用):
a 在光标后一位开始插入
A 在该行的最后插入
I 在该行的最前面插入
gg 直接跳到文件的首行
G 直接跳到文件的末行
dd 删除行,如果 5dd ,则一次性删除光标后的5行
yy 复制当前行, 复制多行,则 3yy,则复制当前行附近的3行
p 粘贴
v 进入字符选择模式,选择完成后,按y复制,按p粘贴
ctrl+v 进入块选择模式,选择完成后,按y复制,按p粘贴
shift+v 进入行选择模式,选择完成后,按y复制,按p粘贴
查找并替换(在底行命令模式中输入)
%s/sad/88888888888888 效果:查找文件中所有sad,替换为88888888888888
/you 效果:查找文件中出现的you,并定位到第一个找到的地方,按n可以定位到下一个匹配位置(按N定位到上一个)
3、文件权限的操作
linux文件权限的描述格式解读
drwxr-xr-x (也可以用二进制表示 111 101 101 --> 755)
d:标识节点类型(d:文件夹 -:文件 l:链接)
r:可读 w:可写 x:可执行
第一组rwx: 表示这个文件的拥有者对它的权限:可读可写可执行
第二组r-x: 表示这个文件的所属组对它的权限:可读,不可写,可执行
第三组r-x: 表示这个文件的其他用户(相对于上面两类用户)对它的权限:可读,不可写,可执行
修改文件权限
chmod g-rw haha.dat 表示将haha.dat对所属组的rw权限取消
chmod o-rw haha.dat 表示将haha.dat对其他人的rw权限取消
chmod u+x haha.dat 表示将haha.dat对所属用户的权限增加x
也可以用数字的方式来修改权限
chmod 664 haha.dat
就会修改成 rw-rw-r--
如果要将一个文件夹的所有内容权限统一修改,则可以-R参数
chmod -R 770 aaa/
chown angela:angela aaa/ <只有root能执行>
目录没有执行权限的时候普通用户不能进入
文件只有读写权限的时候普通用户是可以删除的(删除文件不是修改它,是操作父及目录),只要父级目录有执行和修改的权限
4、基本的用户管理
*添加用户
useradd angela
要修改密码才能登陆
passwd angela 按提示输入密码即可
为用户配置sudo权限
用root编辑 vi /etc/sudoers
在文件的如下位置,为hadoop添加一行即可
root ALL=(ALL) ALL
hadoop ALL=(ALL) ALL
然后,hadoop用户就可以用sudo来执行系统级别的指令
[hadoop@shizhan ~]$ sudo useradd huangxiaoming
添加一个tom用户,设置它属于users组,并添加注释信息
分步完成:useradd tom
usermod -g users tom
usermod -c "hr tom" tom
一步完成:useradd -g users -c "hr tom" tom
设置tom用户的密码
passwd tom
修改tom用户的登陆名为tomcat
usermod -l tomcat tom
将tomcat添加到sys和root组中
usermod -G sys,root tomcat
查看tomcat的组信息
groups tomcat
添加一个jerry用户并设置密码
useradd jerry
passwd jerry
添加一个交america的组
groupadd america
将jerry添加到america组中
usermod -g america jerry
将tomcat用户从root组和sys组删除
gpasswd -d tomcat root
gpasswd -d tomcat sys
将america组名修改为am
groupmod -n am america
5、系统管理操作
主机名操作
hostname
**
修改主机名(重启后无效)
hostname hadoop
*
修改主机名(重启后永久生效)
vi /ect/sysconfig/network
chkconfig设置后台服务的自启动配置
chkconfig 查看所有服务的自启动配置
chkconfig iptables off 关掉指定服务的自启动
checonfig iptables on 开启指定服务的自启动
系统启动级别管理
vi /etc/inittab
centos7 之后 inittab is no longer used when using systemd 不再使用了。
IP地址文件的详解
修改IP(重启后无效)
ifconfig eth0 192.168.12.22
修改IP(重启后永久生效)
vi /etc/sysconfig/network-scripts/ifcfg-ens32
里面内容的解释:
TYPE="Ethernet" # 这个是类型不用管
PROXY_METHOD="none" # 这个是代理方式,不用管
BROWSER_ONLY="no" # 仅浏览器模式,不用管
BOOTPROTO="dhcp" # 网卡获得ip地址的方式, dhcp 代表自动获取,static(静态 ip地址)bootip(通过bootp协议获得的ip地址)
DEFROUTE="yes" # 默认路由
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens32" # 网卡名称
UUID="026a2b15-42ea-472f-86d6-9913d19aff3e" ##UUID不用管
DEVICE="ens32" # 网卡名称
ONBOOT="yes" # 开机启动
如果把BOOTPROTO 修改成 static,一般情况下只需要配置如下就行:
BOOTPROTO=static #改为static 静态ip
IPADDR=192.168.126.166 # 这里需要指定 ip
GATEWAY=192.168.126.2 # 指定网关
NETMASK=255.255.255.0 # 指定子网掩码
ONBOOT=yes # 开机启动
DNS1=192.168.126.2 # DNS 指定网关就行 可以不配置
DNS2=8.8.8.8
mount 挂载外部存储设备到文件系统中
mkdir /mnt/cdrom 创建一个目录,用来挂载
mount -t iso9660 -o ro /dev/cdrom /mnt/cdrom/ 将设备/dev/cdrom挂载到 挂载点 : /mnt/cdrom中
*umount
umount /mnt/cdrom
统计文件或文件夹的大小
du -sh /mnt/cdrom/Packages
df -h 查看磁盘的空间
开关机
关机
halt
****重启
reboot
配置主机之间的免密ssh登陆
假如 A 要登陆 B
在A上操作:
%%首先生成密钥对
ssh-keygen (提示时,直接回车即可)
%%再将A自己的公钥拷贝并追加到B的授权列表文件authorized_keys中
ssh-copy-id B
原理如下图所示:

上传文件
上传文件到linux上, 是上传到当前所在的目录下
yum list|grep lrzsz
sudo yum -y install lrzsz.x86_64
命令:(参数 -y 如果linux上有相同的文件, 会覆盖)
rz
rz -y
6、正则表达式
1.cut截取以:分割保留第七段
grep hadoop /etc/passwd | cut -d: -f7
2.排序
du | sort -n
3.查询不包含hadoop的
grep -v hadoop /etc/passwd
4.正则表达包含hadoop
grep 'hadoop' /etc/passwd
5.正则表达(点代表任意一个字符)
grep 'h.p' /etc/passwd
6.正则表达以hadoop开头
grep '^hadoop' /etc/passwd
7.正则表达以hadoop结尾
grep 'hadoop$' /etc/passwd
规则:
. : 任意一个字符
a
: 任意多个a(零个或多个a)
a? : 零个或一个a
a+ : 一个或多个a
. : 任意多个任意字符
. : 转义.
\<h.
p> :以h开头,p结尾的一个单词
o{2} : o重复两次
grep '^i.{18}n$' /usr/share/dict/words
查找不是以#开头的行
grep -v '^#' a.txt | grep -v '^$'
以h或r开头的
grep '^[hr]' /etc/passwd
不是以h和r开头的
grep '^[^hr]' /etc/passwd
不是以h到r开头的
grep '^[^h-r]' /etc/passwd
7、输入输出重定向
1.新建一个文件
touch a.txt

b.txt

2.错误重定向:2>
find /etc -name zhaoxing.txt 2> error.txt

3.将正确或错误的信息都输入到log.txt中
find /etc -name passwd > /tmp/log.txt 2>&1
find /etc -name passwd &> /tmp/log.txt

4.追加>>

5.将小写转为大写(输入重定向)
tr "a-z" "A-Z" < /etc/passwd

6.自动创建文件
cat > log.txt << EXIT

ccc
ddd
EXI

7.查看/etc下的文件有多少个?
ls -l /etc/ | grep '^d' | wc -l

8.查看/etc下的文件有多少个,并将文件详情输入到result.txt中
ls -l /etc/ | grep '^d' | tee result.txt | wc -l
8、进程管理
1.查看用户最近登录情况
last
lastlog

2.查看硬盘使用情况
df

3.查看文件大小
du

4.查看内存使用情况
free

5.查看文件系统
/proc

6.查看日志
ls /var/log/

7.查看系统报错日志
tail /var/log/messages

8.查看进程
top

9.结束进程
kill 1234
kill -9 4333
VMware 机器克隆IP不可用问题
直接修改 /etc/sysconfig/network-script/ifcfg-eth0
删掉UUID HWADDR
配置静态地址
然后:
rm -rf  /etc/udev/rules.d/70-persistent-net.rules
然后 reboot
linux的命令操作,这里简单的记录一下常用的。

1、日常操作命令

查看当前所在的工作目录

pwd

查看当前系统的时间

date

查看有谁在线(哪些人登陆到了服务器)

who 查看当前在线

last 查看最近的登陆历史记录

修改开机的等待时间

2、文件系统操作

显示信息ls

ls / 查看根目录下的子节点(文件夹和文件)信息

ls -al -a是显示隐藏文件 -l是以更详细的列表形式显示

切换目录

cd /home

创建文件夹

mkdir aaa 这是相对路径的写法

mkdir -p aaa/bbb/ccc

mkdir /data 这是绝对路径的写法

删除文件夹

rmdir 可以删除空目录

rm -r aaa 可以把aaa整个文件夹及其中的所有子节点全部删除

rm -rf aaa 强制删除aaa

修改文件夹名称

mv aaa angelababy

创建文件

touch somefile.1 创建一个空文件

echo "i miss you,my baby" > somefile.2 利用重定向">"的功能,将一条指令的输出结果写入到一个文件中,会覆盖原文件内容

echo "huangxiaoming ,gun dan" >> somefile.2 将一条指令的输出结果追加到一个文件中,不会覆盖原文件内容

查看文件多少个单词,多少行

wc -w README

wc -l README

查看文件

tail -f somefile 根据inode 节点跟踪

tail -F somefile 根据 文件名 跟踪

解压和压缩

用vi文本编辑器来编辑生成文件

**最基本用法

vi somefile.4

1、首先会进入"一般模式",此模式只接受各种快捷键,不能编辑文件内容

2、按i键,就会从一般模式进入编辑模式,此模式下,敲入的都是文件内容

3、编辑完成之后,按Esc键退出编辑模式,回到一般模式;

4、再按:,进入"底行命令模式",输入wq命令,回车即可

**一些常用快捷键

一些有用的快捷键(在一般模式下使用):

a 在光标后一位开始插入

A 在该行的最后插入

I 在该行的最前面插入

gg 直接跳到文件的首行

G 直接跳到文件的末行

dd 删除行,如果 5dd ,则一次性删除光标后的5行

yy 复制当前行, 复制多行,则 3yy,则复制当前行附近的3行

p 粘贴

v 进入字符选择模式,选择完成后,按y复制,按p粘贴

ctrl+v 进入块选择模式,选择完成后,按y复制,按p粘贴

shift+v 进入行选择模式,选择完成后,按y复制,按p粘贴

查找并替换(在底行命令模式中输入)

%s/sad/88888888888888 效果:查找文件中所有sad,替换为88888888888888

/you 效果:查找文件中出现的you,并定位到第一个找到的地方,按n可以定位到下一个匹配位置(按N定位到上一个)

3、文件权限的操作

****linux文件权限的描述格式解读

drwxr-xr-x (也可以用二进制表示 111 101 101 --> 755)

d:标识节点类型(d:文件夹 -:文件 l:链接)

r:可读 w:可写 x:可执行

第一组rwx: 表示这个文件的拥有者对它的权限:可读可写可执行

第二组r-x: 表示这个文件的所属组对它的权限:可读,不可写,可执行

第三组r-x: 表示这个文件的其他用户(相对于上面两类用户)对它的权限:可读,不可写,可执行

****修改文件权限

chmod g-rw haha.dat 表示将haha.dat对所属组的rw权限取消

chmod o-rw haha.dat 表示将haha.dat对其他人的rw权限取消

chmod u+x haha.dat 表示将haha.dat对所属用户的权限增加x

也可以用数字的方式来修改权限

chmod 664 haha.dat

就会修改成 rw-rw-r--

如果要将一个文件夹的所有内容权限统一修改,则可以-R参数

chmod -R 770 aaa/

chown angela:angela aaa/ <只有root能执行>

目录没有执行权限的时候普通用户不能进入

文件只有读写权限的时候普通用户是可以删除的(删除文件不是修改它,是操作父及目录),只要父级目录有执行和修改的权限

4、基本的用户管理

*****添加用户

useradd angela

要修改密码才能登陆

passwd angela 按提示输入密码即可

**为用户配置sudo权限

用root编辑 vi /etc/sudoers

在文件的如下位置,为hadoop添加一行即可

root ALL=(ALL) ALL

hadoop ALL=(ALL) ALL

然后,hadoop用户就可以用sudo来执行系统级别的指令

[hadoop@shizhan ~]$ sudo useradd huangxiaoming

添加一个tom用户,设置它属于users组,并添加注释信息

分步完成:useradd tom

usermod -g users tom

usermod -c "hr tom" tom

一步完成:useradd -g users -c "hr tom" tom

设置tom用户的密码

passwd tom

修改tom用户的登陆名为tomcat

usermod -l tomcat tom

将tomcat添加到sys和root组中

usermod -G sys,root tomcat

查看tomcat的组信息

groups tomcat

添加一个jerry用户并设置密码

useradd jerry

passwd jerry

添加一个交america的组

groupadd america

将jerry添加到america组中

usermod -g america jerry

将tomcat用户从root组和sys组删除

gpasswd -d tomcat root

gpasswd -d tomcat sys

将america组名修改为am

groupmod -n am america

5、系统管理操作

主机名操作

hostname

****修改主机名(重启后无效)

hostname hadoop

*****修改主机名(重启后永久生效)

vi /ect/sysconfig/network

chkconfig设置后台服务的自启动配置

chkconfig 查看所有服务的自启动配置

chkconfig iptables off 关掉指定服务的自启动

checonfig iptables on 开启指定服务的自启动

系统启动级别管理

vi /etc/inittab

centos7 之后 inittab is no longer used when using systemd 不再使用了。

IP地址文件的详解

****修改IP(重启后无效)

ifconfig eth0 192.168.12.22

****修改IP(重启后永久生效)

vi /etc/sysconfig/network-scripts/ifcfg-ens32

里面内容的解释:

如果把BOOTPROTO 修改成 static,一般情况下只需要配置如下就行:

mount 挂载外部存储设备到文件系统中

mkdir /mnt/cdrom 创建一个目录,用来挂载

mount -t iso9660 -o ro /dev/cdrom /mnt/cdrom/ 将设备/dev/cdrom挂载到 挂载点 : /mnt/cdrom中

*****umount

umount /mnt/cdrom

统计文件或文件夹的大小

du -sh /mnt/cdrom/Packages

df -h 查看磁盘的空间

开关机

****关机

halt

****重启

reboot

配置主机之间的免密ssh登陆

假如 A 要登陆 B

在A上操作:

%%首先生成密钥对

ssh-keygen (提示时,直接回车即可)

%%再将A自己的公钥拷贝并追加到B的授权列表文件authorized_keys中

ssh-copy-id B

原理如下图所示:

上传文件

上传文件到linux上, 是上传到当前所在的目录下

yum list|grep lrzsz

sudo yum -y install lrzsz.x86_64

命令:(参数 -y 如果linux上有相同的文件, 会覆盖)

rz

rz -y

6、正则表达式

1.cut截取以:分割保留第七段

grep hadoop /etc/passwd | cut -d: -f7

2.排序

du | sort -n

3.查询不包含hadoop的

grep -v hadoop /etc/passwd

4.正则表达包含hadoop

grep 'hadoop' /etc/passwd

5.正则表达(点代表任意一个字符)

grep 'h.*p' /etc/passwd

6.正则表达以hadoop开头

grep '^hadoop' /etc/passwd

7.正则表达以hadoop结尾

grep 'hadoop$' /etc/passwd

规则:

. : 任意一个字符

a* : 任意多个a(零个或多个a)

a? : 零个或一个a

a+ : 一个或多个a

.* : 任意多个任意字符

. : 转义.

\<h.*p> :以h开头,p结尾的一个单词

o{2} : o重复两次

grep '^i.{18}n$' /usr/share/dict/words

查找不是以#开头的行

grep -v '^#' a.txt | grep -v '^$'

以h或r开头的

grep '^[hr]' /etc/passwd

不是以h和r开头的

grep '^[^hr]' /etc/passwd

不是以h到r开头的

grep '^[^h-r]' /etc/passwd

7、输入输出重定向

8、进程管理

VMware 机器克隆IP不可用问题

直接修改 /etc/sysconfig/network-script/ifcfg-eth0

删掉UUID HWADDR

配置静态地址

然后:

rm -rf  /etc/udev/rules.d/70-persistent-net.rules

然后 reboot

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
未填写
文章
1
粉丝
0
喜欢
0
收藏
0
排名:2219
访问:711
私信
所有博文
社区赞助商