Linux常用命令


一,基本命令
1.pwd:打印当前目录

2.cd:切换路径,后面跟绝对路径和相对路径

3.cp -r :可以用来复制文件和目录的

4.cat:查看文件(非目录)内容,后面跟>>或>可以重定向到某个文件,若文件不存在,则创建并编辑

5. ll:列出当前目录所以的文件及目录

6.touch:创建文件

7.mv:移动文件

8.rm:删除文件或目录(-rf可强制删除非空目录)

9.find:查找文件(非目录),例子
# find . -name "*.c" :将目前目录及其子目录下所有延伸档名是 c 的文件列出来。

10.vi:编辑文件

11.mkdir/rmdir:创建目录/删除目录

12.head/tail:查看文件内容,例子:
head -3 文件名:查看前三名的内容;tail -3 文件名:查看最后三名的内容。

13.grep:查找文件的内容,例子:
grep -v "#" 文件名:过滤掉含有“#”的行

14.sort:整理文件内容的顺序(-r:相反的顺序)

15.unik:删除文件中重复的行;
-c 在输出行前面加上每行在输入文件中出现的次数。
-d 仅显示重复行。
-u 仅显示不重复的行。

16.wc:计算数字
-c或--bytes或--chars 只显示Bytes数。
-l或--lines 只显示行数。
-w或--words 只显示字数。

17.ln:链接某个文件,ln [参数][源文件或目录][目标文件或目录]
-d 允许超级用户制作目录的硬链接
-s 软链接(符号链接)

二,用户创建删除操作

1.useradd: 创建用户;例子:
#useradd 用户名
#useradd -g usergroup1 user1 :让新的用户归属于一个已经存在的组

2.userdel:删除用户
#userdel <用户名>

3.usermod:用户操作
-c<备注>:修改用户帐号的备注文字;
-l<帐号名称>:修改用户帐号名称;
-L:锁定用户密码,使密码无效;
-U:解除密码锁定。
-u:修改用户ID;
-g<群组>:修改用户所属的群组;
-G<群组>;修改用户所属的附加群组

用户相关的文件在:/etc/passwd 和 /etc/shadow

4.passwd:修改用户密码,例子:
#passwd 用户名

5.groupadd:创建一个组

6.groupdel:删除一个组

7.groupmod:组操作
# groupmod -n linux linuxso:修改组名

8.gpasswd:修改用户密码,例子:
#gpasswd 用户名

组相关的文件在:/etc/group 和 /etc/gshadow

9.su:切换用户

10.sudo:以其他用户身份执行命令,常用:
#sudo -u 用户名 指令

三。权限的管理
1.chmod:修改文件的权限,u,g,o,a分别表示所属用户,同组用户,普通用户,所有用户
r =4,w=2,x=1,例子:
chmod u+r,o-x 文件名
chmod ug+w,o-x 文件名
chmod 774 文件名

2.chown:更改某个文件或目录的属主和属组,例子:
$ chown yusi yusi123.com :把文件yusi123.com的所有者改为yusi

3.chgrp:改变文件或目录所属的组
chgrp [选项] group filename

四。软件包的管理
1,yum,常用命令:
yum install <package_name>
yum update <package_name>
yum remove <package_name>
yum search <keyword>
yum clean all(配置好yum源要执行该命令)
yum源到/etc/yum.repos.d

2.rpm,常用命令:
rpm -ivh 软件包名 直接安装
rpm -ql tree 查询
rpm -e tree 卸载
rpm -qa 列出所有安装的软件包

五.磁盘管理
1.fdisk -l:查看硬盘分区情况
fdisk /dev/sdb:操作sdb硬盘,以下参数为常见操作硬盘的命令
-n 增加一个分区(p主分区,e拓展分区,l为逻辑分区)
-d 删除一个分区
-p 显示当前的分区表
-q 退出fdisk二不保存
-w 保存并退出

lsblk -f:查看硬盘的分区情况(硬盘大小和挂载情况)

注:分区后要格式化

2.mkfs:格式化分区,例子
mkfs.ext4 /dev/sdb1(注意:只能格式化主分区和逻辑分区,不能格式化拓展分区)

3.blkid:直接查看分区格式化的情况

注:分区后就得挂载,不过在之前先确定挂载点,不同的挂载点要创建不同的目录

3.mount :挂载
mount /dev/sdb1 /dir1

umount:卸载,卸载目录或分区

df:查看文件系统的磁盘使用情况

自动挂载:
/etc/fstab为开机自动挂载的目录,如下方法可自动挂载:
echo "/dev/sdb1 /dir1 ext4 defaults 0 0" >> /etc/fstab

六,vi编辑器
1.显示文件的行数:
:set nu

2.内容移动,例子:
:2,5 m 24 将2到5行移动到24之后

3,内容复制并移动,例子:
:1,3 co 6 将1,3的内容复制并移动到6之后

4.将文中的某个字符串替换为另一个字符串,例子:
:g/root/s//user1/g

5,将指定的行的某个字符串替换为另一个字符串,例子:
4,10s/b/b/g 将4到10行b替换为B

6,在文档末新开一行,小o为当行下新开一行

7.:w为保存,:q!为强制退出,不保存

8.消除行号 :set nonu

9.保存并另存为一个文件,例子:
:w 文件名

10,vi直接编辑脚本,.sh为脚本,例子;
vi s1.sh

注意:首行必须要shell声明,如:#!/bin/bash

11,运行脚本:bash s1.sh

read -p "提示信息"

七.进程管理

注意:at一般是临时任务,crontab一般是周期性任务,但都是计划任务的一种。

at now +1 minutes
at 12:00(2018-07-21 12:00)

atq :查看待处理的作业
atrm:删除无用的作业,例子:
#atrm 5 (5为作业的序号)

注意:crontab要安装先,每个用户都有自己的cron配置文件,
通过crontab -e 就可以编辑,
一般情况下我们编辑好用户的cron配置文件保存退出后,
系统会自动就存放于/var/spool/cron/目录中,文件以用户名命名.
linux的cron服务是每隔一分钟去读取一次/var/spool/cron,/etc/crontab,/etc/cron.d下面所有的内容.

分 时 天 月 周 (/ 1—5 1,3 * 命令)

crontab -e:编辑配置文件
crontab -l:列出当前用户的定时任务
crontab -r:删除当前用户定时任务

#kill -9 进程号:杀死进程

ps:列出当前正在运行的进程,例子:
-e 显示所有进程
-a 显示终端所有进程
-r 显示正在运行的进程
-u 以用户为主的格式显示程序

cmd& 让命令cmd在后台运行
jobs 查看后台运行的进程
fg %n 让后台运行的进程n到前台来
bg %n 让进程n到后台去;
PS:"n" 为jobs查看到的进程编号.
ctrl + z 可以将一个正在前台执行的命令放到后台,并且暂停

八.WWW服务配置
html http url 客户端(浏览器) 服务器( apache、nginx)
安装httpd
管理httpd systemctl
修改配置文件 /etc/http/conf/httpd.conf(默认配置端口 80 根目录 /var/www/html 首页文件名 index.html)
测试

九.防火墙
十一、防火墙
firewall-config图形界面
firewall-cmd --get-zones
firewall-cmd --list-all
firewall-cmd --add-service=http/ftp/smtp/pop
firewall-cmd --add-service=http --permanent
firewall-cmd --add-port=80/tcp


tar -cvf 打成包的文件名 要打包的文件(源文件)
-c是表示打包
-v表示显示打包的过程
-f指定打包后的文件名
例子:tar -cvf newfile.tar a.txt

tar -xvf 为解包,例子:
tar -xvf 包名

打包并压缩:tar -cxvf或tar -xzvf(格式不同,gz和bz2),例子:
tar -czvf huangxue.tar.gz huangxuewen

原文地址:https://www.cnblogs.com/ibcdwx/p/12197130.html