Linux指令

基础指令

ls

-l:表示list,表示以详细列表的形式进行展示
-a:表示显示所有的文件/文件夹(包含了隐藏文件/文件夹)

pwd

打印当前路径

cd

mkdir

mkdir -p 一次性创建多层不存在的目录
mkdir 路径1 路径2 路径3 … 表示一次性创建多个目录

touch

文件名或路径

cp

cp 被复制的文档路径 文档被复制到的路径
注意:Linux在复制过程中是可以重新对新位置的文件进行重命名的,但是如果不是必须的需要,则建议保持前后名称一致。
案例:使用cp命令来复制一个文件夹
注意:当使用cp命令进行文件夹复制操作的时候需要添加选项“-r”【-r表示递归复制】,否则目录将被忽略

mv

rm

-f:force,强制删除,不提示是否删除
-r:表示递归
-rf
案例:要删除一个目录下有公共特性的文档,例如都以Linux开头
rm -rf linux*
星号称之为通配符,意思表示任意的字符,Linux*,则表示只要文件以Linux开头,后续字符则不管。

输出重定向

1.>:覆盖输出,会覆盖掉原先的文件内容
2.>>:追加输出,不会覆盖原始文件内容,会在原始内容末尾继续添加
语法:#正常执行的指令 > / >> 文件的路径
注意:文件可以不存在,不存在则新建

cat

作用1:cat有直接打开一个文件的功能。
语法1:#cat 文件的路径
作用2:cat还可以对文件进行合并
语法2:#cat 待合并的文件路径1 待合并的文件路径2 …. 文件路径n > 合并之后的文件路径

进阶指令

df

作用:查看磁盘的空间
语法:#df -h -h表示以可读性较高的形式展示大小

free

作用:查看内存使用情况
语法:#free -m -m表示以mb为单位查看

作用:查看一个文件的前n行,如果不指定n,则默认显示前10行。
语法:#head -n 文件路径 【n表示数字】

tail

作用1:查看一个文件的未n行,如果n不指定默认显示后10行
语法:#tail -n 文件的路径 n同样表示数字
作用2:可以通过tail指令来查看一个文件的动态变化内容【变化的内容不能是用户手动增加的】
语法:#tail -f 文件路径
该命令一般用于查看系统的日志比较多。

less

作用:查看文件,以较少的内容进行输出,按下辅助功能键(数字+回车、空格键+上下方向键)查看更多
语法:#less 需要查看的文件路径
在退出的只需要按下q键即可。

wc

作用:统计文件内容信息(包含行数、单词数、字节数)
语法:#wc -lwc 需要统计的文件路径
-l:表示lines,行数
-w:表示words,单词数 依照空格来判断单词数量
-c:表示bytes,字节数

date

作用:表示操作时间日期(读取、设置)
语法1:#date 输出的形式:2018年 3月 24日 星期六 15:54:28
语法2:#date +%F (等价于#date “+%Y-%m-%d” ) 输出形式:2018-03-24
语法3:#date “+%F %T” 引号表示让“年月日与时分秒”成为一个不可分割的整体
等价操作#date “+%Y-%m-%d %H:%M:%S”
输出的形式:2018-03-24 16:01:00
语法4:获取之前或者之后的某个时间(备份)
date -d “-1 day” “+%Y-%m-%d %H:%M:%S”
符号的可选值:+(之后) 或者 - (之前)
单位的可选值:day(天)、month(月份)、year(年)
%F:表示完整的年月日
%T:表示完整的时分秒
%Y:表示四位年份
%m:表示两位月份(带前导0)
%d:表示日期(带前导0)
%H:表示小时(带前导0)
%M:表示分钟(带前导0)
%S:表示秒数(带前导0)

cal

作用:用来操作日历的
语法1:#cal 等价于 #cal -1 直接输出当前月份的日历
语法2:#cal -3 表示输出上一个月+本月+下个月的日历
语法3:#cal -y 年份 表示输出某一个年份的日历

clear == ctrl + L

管道

管道符:|
作用:管道一般可以用于“过滤”,“特殊”,“扩展处理”。
语法:管道不能单独使用,必须需要配合前面所讲的一些指令来一起使用,其作用主要是辅助作用。

grep

grep 的作用是在文件中提取和匹配符合条件的字符串行。命令格式如下:
grep -A "搜索内容" 文件名
选项:

-A 数字:列出符合条件的行,并列出后续的 n 行;
-B 数字:列出符合条件的行,并列出前面的 n 行;
-c:统计找到的符合条件的字符串的次数;
-i:忽略大小写;
-n:输出行号;
-v:反向査找;
--color=auto:搜索出的关键字用颜色显示;
https://www.cnblogs.com/lizhouwei/p/9991827.html
https://blog.csdn.net/weixin_34366546/article/details/93424831

hostname

作用:操作服务器的主机名(读取、设置)
语法1:#hostname 含义:表示输出完整的主机名
语法2:#hostname -f 含义:表示输出当前主机名中的FQDN(全限定域名)

id

作用:查看一个用户的一些基本信息(包含用户id,用户组id,附加组id…),该指令如果不指定用户则默认当前用户。
语法1:#id 默认显示当前执行该命令的用户的基本信息
语法2:#id 用户名 显示指定用户的基本信息

whoami

显示当前登录的用户名

ps -ef

-e:等价于“-A”,表示列出全部的进程
-f:显示全部的列(显示全字段)
ps -ef|grep “进程名称”

top

作用:查看服务器的进程占的资源(100%使用)
语法:
进入命令:#top (动态显示)
退出命令:按下q键

du -sh

作用:查看目录的真实大小
语法:#du -sh 目录路径
选项含义:
-s:summaries,只显示汇总的大小
-h:表示以高可读性的形式进行显示

find

作用:用于查找文件(其参数有55个之多)
语法:#find 路径范围 选项 选项的值
选项:
-name:按照文档名称进行搜索(支持模糊搜索)
-type:按照文档的类型进行搜索
文档类型:“-”表示文件(在使用find的时候需要用f来替换),“d”表示文件夹

案例:使用find来搜索httpd.conf
find / -name httpd.conf

service

作用:用于控制一些软件的服务启动/停止/重启
语法:#service 服务名 start/stop/restart

kill

作用:表示杀死进程 (当遇到僵尸进程或者出于某些原因需要关闭进程的时候)
语法:#kill 进程PID (语法需要配合ps一起使用)

killall

与kill命令作用相似但是比kill更加好用的杀死进程的命令:killall
语法:#killall 进程名称

ifconfig

获取网卡信息

reboot

shutdown

init 0
halt
poweroff
这些命令都可以关机

uptime

作用:输出计算机的持续在线时间(计算机从开机到现在运行的时间)
语法:#uptime

uname

作用:获取计算机操作系统相关信息
语法1:#uname 获取操作系统的类型
语法2:#uname -a all,表示获取全部的系统信息(类型、全部主机名、内核版本、发布时间、开源计划)

netstat -tnlp

-r 路由表
作用:查看网络连接状态
语法:#netstat -tnlp
选项说明:

  • -t:表示只列出tcp协议的连接;
  • -n:表示将地址从字母组合转化成ip地址,将协议转化成端口号来显示;
  • -l:表示过滤出“state(状态)”列中其值为LISTEN(监听)的连接;
  • -p:表示显示发起连接的进程pid和进程名称;

man

指令用法

运行模式

init

与该级别相关的几个命令:
init 0 表示关机
init 3 表示切换到不带桌面的模式
init 5 切换到图形界面
init 6 重启电脑

注意:init指令需要超级管理员的权限,普通用户无法执行。

这些命令其实都是调用的init进程,将数字(运行级别)传递给进程,进程去读配置文件执行对应的操作。

关于ubuntu root密码问题

sudo passwd 回车后按照操作设置unix密码

用户与用户组管理

/etc/passwd 存储用户的关键信息
/etc/group 存储用户组的关键信息
/etc/shadow 存储用户的密码信息

/etc/passwd文件

用户名:密码:用户ID:用户组ID:注释:家目录:解释器shell

用户名:创建新用户名称,后期登录的时候需要输入;
密码:此密码位置一般情况都是“x”,表示密码的占位;
用户ID:用户的识别符;
用户组ID:该用户所属的主组ID;
注释:解释该用户是做什么用的;
家目录:用户登录进入系统之后默认的位置;
解释器shell:等待用户进入系统之后,用户输入指令之后,该解释器会收集用户输入的指令,传递给内核处理;

/etc/group文件

用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。
文件结构:
用户组名:密码:用户组ID:组内用户名

useradd

常用语法:#useradd 选项 用户名
常用选项:
-g:表示指定用户的用户主组,选项的值可以是用户组的id,也可以是组名
-G:表示指定用户的用户附加组,选项的值可以是用户组的id,也可以是组名
-u:uid,用户的id(用户的标识符),系统默认会从500之后按顺序分配uid,如果不想使用系统分配的,可以通过该选项自定义
-c comment:添加注释
注意:
在不添加选项的时候,执行useradd之后会执行一系列的操作
a. 创建同名的家目录;
b. 创建同名的用户组;
注意:
查看用户的主组可以查看passwd文件,查看附加组可以查看group文件。

验证是否成功:
a. 验证/etc/passwd的最后一行,查看是否有zhangsan的信息;
b. 验证是否存在家目录(在Centos下创建好用户之后随之产生一个同名家目录);

usermod

修改用户
常用语法: usermod 选项 用户名

常用选项:
-g:表示指定用户的用户主组,选项的值可以是用户组的id,也可以是组名
-G:表示指定用户的用户附加组,选项的值可以是用户组的id,也可以是组名
-u:uid,用户的id(用户的标识符),系统默认会从500之后按顺序分配uid,如果不想使用系统分配的,可以通过该选项自定义【类似于腾讯QQ的自选靓号情况】
-l:修改用户名

案例:修改zhangsan用户主组为500,附加组改为501
usermod -g 500 -G 501 zhangsan
案例:修改zhangsan用户用户名,改为wangerma
usermod -l 新的用户名 旧的用户名
usermod -l wangerma zhangsan

passwd

修改密码
语法:passwd 用户名

userdel

常用语法:#userdel 选项 用户名
-r:表示删除用户的同时,删除其家目录;
注意:
已经登录的wangerma用户删除的时候提示删除失败,但是没有登录的用户可以正常删除。

解决办法:简单粗暴,kill对应用户的全部进程

groupadd

常用语法:#groupadd 选项 用户组名
常用选项:
-g:类似用户添加里的“-u”,-g表示选择自己设置一个自定义的用户组ID数字,如果自己不指定,则默认从500之后递增;

groupmod

常用语法:#groupmod 选项 用户组名
常用选项:
-g:类似用户修改里的“-u”,-g表示选择自己设置一个自定义的用户组ID数字
-n:类似于用户修改“-l”,表示设置新的用户组的名称
案例:修改Administrators用户组,将组ID从502改成520,将名称改为admins

groupdel

常用语法:#groupdel 用户组名
注意:当如果需要删除一个组,但是这个组是某个用户的主组时,则不允许删除;如果确实需要删除,则先从组内移出所有用户。

网络设置

ln

ln -s 原始文件的路径 快捷方式的路径

ifconfig

ifdown

停止某个网卡:#ifdown 网卡名

ifup

开启某个网卡:#ifup 网卡名

posted @ 2021-06-19 16:16  sellun  阅读(72)  评论(0编辑  收藏  举报