vlambda博客
学习文章列表

玩转Linux系统之常用命令

玩转Linux系统之常用命令

我们在操作Linux系统的时候,经常会用到一些命令,下面是Linux系统一些常见操作命令的使用情况介绍。           

01



文件命令
|01文件创建

创建单个文件

touch test.txt

② 创建多个文件

touch test1.txt test2.txt touch {test1.txt,test2.txt}
|02文件删除

① 删除文件时,系统会询问是否删除

rm test.txt

② 强制删除文件

rm -rf test.txt
|03文件移动或重命名

① 文件移动

mv test.txt /tmp/

② 文件重命名

mv test.txt a.txt

③ 文件移动并重命名

mv test.txt /tmp/a.txt
|04文件拷贝、追加或重命名

① 文件拷贝

cp test.txt /tmp/

② 文件拷贝并重命名

cp test.txt /tmp/a.txt

③ 一个文件内容拷贝到里另一个文件中

cat test1.txt > test2.txt

④ 一个文件内容追加到里另一个文件中

cat test1.txt >> test2.txt 
|05 vim文件操作

① vim工作模式

玩转Linux系统之常用命令

② 插入命令

玩转Linux系统之常用命令

③ 定位命令

玩转Linux系统之常用命令

④ 删除命令

玩转Linux系统之常用命令

⑤ 替换和取消命令

|06文件内容查看cat、more、less、head、tail、grep、cut、sort 

① 正序查看

cat test.txt

② 倒序查看

tac test.txt

③ 从前向后以页读取文件(上翻:[b],下翻:[空格键])

more test.txt

④ 从第5行向后以页读取文件(上翻:[b],下翻:[空格键])

more +5 test.txt

⑤ 查找第一个出现"test"字符串的行,并从该处前两行开始显示输出

more +/test test.txt

⑥ 从前向后以页读取文件(上翻:[pageup],下翻:[pagedown])

less test.txt

⑦ 显示文件的前n行 (默认10行,不带n)

head -n test.txt

⑧ 显示文件的后n行 (默认10行,不带n)

tail -n test.txt

⑨ 跟踪显示文件新追加的内容

tail -f test.txt

⑩ 文本过滤,模糊查找含字母a的行

grep a test.txt 

⑪ 显示test.txt文件第1,3,5行(-d:指定分隔符;-f:指定文件)

cut -d : -f 1,3,5 test.txt

⑫ 文件内容排序(-k:指定字段;3:第三列;-t:指定分隔符;-n:以数字大小进行排序;-u:去重)

sort -k 3 -t : -n -u test.txt
|07给文件设置拥有者,权限

① 将test.txt的用户拥有者设为zwh1,组的拥有者设为zwh2

chown zwh1:zwh2 test.txt

② 将当前目录下所有文件与子目录下文件的用户拥有者设为zwh1,组拥有者设为zhw2

chown -R zwh1:zwh2 *

③ 将当前目录下的所有文件与子目录皆设为任何人可读取

chmod -R a+r *

④ 将test1.txt和test2.txt的拥有者和所属组文件权限设为可写,其他设为不可写

chmod ug+w,o-w test1.txt test2.txt

|08其他他文件操作

① 查看文件详情

stat test.txt

② 查看文件大小

du -h test.txt[root@hdp1 /]# du -h zwh/4.0K zwh/

③ 查看文件夹及子目录文件大小

[root@hdp1 /]# du -ah zwh/0 zwh/test1.txt0 zwh/test2.txt4.0K zwh/test.txt4.0K zwh/

④ 回到原来路径

cd -

⑤ 回到上级路径

cd ..

02


系统命令


|01主机名操作

查看主机名

hostname

修改主机名(重启后永久生效),将名字修改即可

vim /etc/hostname
|02修改IP

① 找到对应虚拟机的网卡如ifcfg-eth0,修改IP

vim /etc/sysconfig/network-scripts/ifcfg-eth0

② 强制删除文件

rm -rf test.txt
|03查看系统信息

显示全部信息

uname -a

显示操作系统的发行编号

uname -r

显示操作系统名称

uname -s
|04查看文件信息

① 显示文件详细信息

ls -l /tmp/a.txt

② 显示文件类型

file /tmp/a.txt

③ 显示文件状态信息

stat /tmp/a.txt

④ 显示文件在系统的状态信息

stat -f /tmp/a.txt
|05查看各分区使用情况
df -h

|06查看当前用户的计划任务服务

crontab -l
|07 查看系统所有用户
cut -d: -f1 /etc/passwd
|08查看系统所有组
cut -d: -f1 /etc/group
|09实时显示进程状态用户
top
|10查看所有进程
cut -d: -f1 /etc/group
|11查看网络统计信息进程
netstat -s
|12查看所有监听端口
netstat -lntp
|13查看内存总量
grep MemTotal /proc/meminfo
|14查看空闲内存量
grep MemFree /proc/meminfo
|15查看系统运行时间、用户数、负载
uptime
|16查看用户最近登录情况
last

03



用户和用户组

|01用户操作

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

useradd -g users -c "hr tom" tom

设置tom用户的密码

passwd tom

修改tom用户的登陆名为tom1

usermod -l tom1 tom

将tom添加到zwh和root组中

usermod -G zwh,root tom
|02用户组操作

添加一个zwh的组

groupadd zwh

将tom用户从root组和zwh组删除

gpasswd -d tom root和gpasswd -d tom zwh

将zwh组名修改为zwh1

groupmod -n zwh1 zwh

04


查找
|01查找可执行的命令
which ls
|02从某个文件夹开始查找
find / -name "zwh*" -ls
|03查找并删除
find / -name "zwh*" -ok rm {} \;find / -name "zwh*" -exec rm {} \;
|04查找用户为hadoop的文件
find /usr -user hadoop -ls
|05查找用户为hadoop并且(-a)拥有组为root的文件
find /usr -user hadoop -a -group root -ls
|06查找用户为hadoop或者(-o)拥有组为root并且是文件夹类型的文件
find /usr -user hadoop -o -group root -a -type d
|07查找权限为777的文件
find / -perm -777 -type d -ls
|08显示命令历史
history
05


打包和压缩

|01gzip解压缩

① gzip压缩

gzip test.txt

② gzip解压

gzip -d test.txt.gz
|02bzip2解压缩

① bzip2压缩

bzip2 test

② bzip2解压

bzip2 -d test.bz2
|03打包并压缩成bz2,解压

① 打包并压缩成bz2

tar -jcvf a.tar.bz2

② 解压

tar -jxvf a.tar.bz2
|04 tar 文件打包 解包

① 打包

tar -cvf bak.tar

② 解包

tar -xvf bak.tar
|05 打包并压缩gzip,解压缩

① 打包并压缩gzip

tar -zcvf test.tar.gz

② 解压缩

tar -zxvf test.tar.gz

③ 解压到/usr/下

tar -zxvf test.tar.gz -C /usr
|06查看压缩包内容
tar -ztvf test.tar.gz
06


防火墙
Centos7:
|01 查看防火墙状态
firewall-cmd --state
|02停止防火墙
systemctl stop firewalld.service
|03开启防火墙
systemctl start firewalld.service
|04禁止firewall开机启动
systemctl disable firewalld.service
Centos6:
|01查看防火墙状态
service iptables status
|02停止防火墙
service iptables stop
|03开启防火墙
service iptables star
|04查看iptables是否开机启
chkconfig iptables --list
|05设置iptables开机启动
chkconfig iptables on
|06设置iptables开机不启动
chkconfig iptables off