Linux 命令随笔

clear 清屏

时间管理

date 查看日期 设置日期
格式化显示时间 date "+%Y-%m-%d %H:%M:%S"
设置时间 date -s "01:01:01 2012-05-23"
date -s "2012-05-23 01:01:01"

系统管理
who 显示当前用户信息
-u 显示当前用户的用户名相关信息
-r 查看当前用户运行级别
-but 显示系统最近登陆的信息

w 查看用登陆信息 详情

man 查看命令手册

uname 显示当前系统的信息
-a 显示操作系统的全部信息
-m 显示系统cpu类型 32||64
-n 显示系统的主机名
-s 显示系统的类型
-r 显示系统的内核版本

uptime 显示系统任务队列信息

last 显示用户登陆系统信息
dmesg 显示开机信息
free 查看系统内存状态
-b 字节
-m mb
-k kb
-t 总和


vim 编辑器

a 在光标后插入内容
i 在光标前插入内容
A 在行尾插入内容
I 在行首插入内容
o 在光标下插入一行
O 在光标上插入一行
x 删除光标后字节
X 删除光标前字节
u 撤回 可重复
^ 移动光标行首
$ 移动光标行尾
dd 删除一行
3dd 删除三行
dG 删除光标后所以内容
dgg 删除光标前所有内容
yy 复制一行
2yy 复制两行
p 粘贴

V模式 Ctrl
选择行
I进入编辑模式
退出两次

w 保存
q 退出
q! 强制退出
wq保存并退出
:ifconfig :调用系统命令
:%s/'/"/g 文件中所有' 换成 ”

%所有文件
s 替换
/g 替换所有

gg 首行
G 尾行
3G 第三行
:4 第四行
5gg 第五行


硬件资源管理

lspci 显示硬件设备(显卡,声卡,网卡)信息
eth 网卡
显卡 声卡 vga

CPU信息存储地址 /proc/cpuinfo
cat /proc/cpuinfo
physical id 几颗CPU
siblings CPU几个核心处理器
vendor_id CPU类型

cat /proc/meminfo 查看系统内存信息
memtotal 总内存输数
memfree 空闲内存数
MemAvailable 可用内存数
Buffers 缓冲区大小
Cached 缓存大小
SwapCached 交换分区缓存大小


fdisk -l 分区情况
U盘 /dev/sda1
sd: SCSI
a:第一块硬盘
1:第一个主分区
id 8e = lvm

光驱 ide /dev/hd1
光驱 scsi /dev/sr1
磁带 scsi /dev/st1

文件系统类型
msdos DOS文件系统类型 windows
vfat 长文件名DOS系统 U盘
iso9660 光盘格式文件系统类型
ext2/ext3/ext4 linux 主流文件系统类型
xfs linux 高性能日志文件系统

mount 设备地址 挂载到哪 挂载硬件设备
sudo mount /dev/sr0 /mnt/

umount 设备地址 卸载硬件设备
umount /dev/sr0


df -h 大小情况
df -i 查看iNode节点信息
du -h 使用情况
du -sh /dev/sda1


liunx 操作系统启动过程

开机自检 :加载BIOS 硬件检测 查找加载磁盘上的MBR
MBR引导:加载磁盘信息 加载GRUB
GRUB菜单: 按照配置信息启动操作系统 加载 kernel
加载linux内核Kernel :解压内核加载到内存中 启动一系列初始化函数 初始化各种设备
init进程初始化:读取init文件 进行初始化操作
登陆系统

vim /etc/inittab
systemctl isolate runlevel3.target 切换到第三运行级别 命令行
systemctl isolate runlevel5.target 切换到第五运行级别 图形界面

systemctl set-default graphical.target 设置默认系统运行级别
systemctl get-default 查看当前系统默认运行级别
关机命令
init 0
halt
poweroff
shutdown -h now 立刻关机
shutdown -h 5 5分钟后自动关机(时间可以自己设置)

重启命令
reboot
shutdown -r now 立即重启
shutdown -r 5 5分钟后自动重启(时间可以自己设置)
shutdown -r 10:30 在时间为10:30时候重启(时间可以自己设置)

0 关机
1 单用户
2 无网络多用户
3 命令行
4 保留
5 图形界面
6 重启

用户分为

超级用户 root uid 0

本地用户 用来登录系统 uid 1000+

系统用户 维持某个服务的运行 uid 1 - 999

添加一个用户 useradd yangweiye
-d 指定用户主目录
-m 不创建主目录 ubuntu 下 m为强制创建 M为不创建
-g 指定用户所属组
-G 指定用户附加组
-s 指定用户登录的shell
-u 指定用户 uid
创建用户时复制 /etc/skel/ 下文件到创建用户的家目录

passwd 设置密码
-l 锁定 禁止登录
-u 口令解锁
-d 使账号无口令
-f 下次登录时修改口令
passwd yangweiye

删除一个用户 userdel -r yangweiye
-r 连同删除家目录

修改用户信息
usermod
参数如useradd一样

用户名存储
vim /etc/passwd
root:x:0:0:root:/root:/bin/bash
用户名:密码占位符:uid:gid:用户描述:用户家目录:登录后使用的shell

密码存储
vim /etc/shadow
sam:$6$O0eZ9Zp8$sVQTfD2NiZknDb/l4fmB6l7AEI/hTingRi8aBFs7Zs9WOBmXljMQ2S8QOAodHcc6VzVFr6OMievuMecR43sOp/:17606:0:99999:7:::
用户名:加密的密码:最近修改密码的日期:密码不能修改的天数0为可以修改:密码过期时间:密码修改更高期限到来前7天发出警告:宽限天数:密码过了几天还能改密码:账号过期时间:保留


Linux 文件系统

linux文件系统分为3部分 文件名 iNode block
iNode 节点号
block 数据存储块

stat 查看文件 iNode 信息
stat /etc/passwd

size 文件大小
blocks 占用了几个块
uid 所属人
Gid 所属组
iNode iNode节点号
Access 文件权限 数字
Access 结果是时间就是访问时间
change 发生变动的时间
modify 文件修改时间

ls -i 显示iNode节点号

Linux软硬链接

ln LN 创建硬链接
ln只能对文件创建硬链接 不能跨分区创建硬链接
硬链接相当与copy一份文件 原文件删除后硬链接创建的文件不改变
ln a.txt b.txt

ln -s 创建软连接
软连接可以跨分区
软连接源文件被删除后则查看会报错


文件系统 最大文件系统TB 最大文件
xfs 18874368 9437184
ext4 1048576 16
ext3 16 2


查看硬盘文件 /dev/sd*
mkfs 格式化分区
-t 指定文件系统
mkfs -t xfs /dev/sdb
格式化需要挂载才可使用


/home 普通用的家目录
/root 管理员用户的家目录
/dev 设备文件目录
/usr 应用程序和文件
/etc 系统管理的配置文件目录
/boot 启动系统需要的文件
/lib 库文件
/var 日志文件
/tmp 缓存文件
/proc 虚拟文件系统
/bin 普通的可执行命令
/sbin 只有管理员可以执行的可执行命令

本地管理员大多数情况下将额外的软件安装在/usr/local目录下,并链接在/usr/local/bin下的主执行程序
系统所有设置在/etc目录下
不要修改根目录 / 或者 /usr 目录下的任何内容,目录最好和linux 发布时保持一致.
大多数工具和应用程序安安装在目录:/bin,/usr/sbin,/sbin,所有的文件在单一的目录树下。没有所谓的 驱动符


绝对路径 : 以 / 为起点的写法 /home/yangweiye/a.php
相对路径: 以当前文件为起点 ./ 当前目录 如果当前目录在 /home/yangweiye ./a/php 就可以找到
建议使用绝对路径

cat 查看文件
-A 相当于 -vET的组合选项,可现实一些特殊字符而不是空白而已;
-b 现实行号,仅支队非空白行做行号现实,空白行不标记行号;
-E 讲结尾的断行字符$现实出来
-n 现实行号,连同空白行也显示行号,与-b选项不同;
-T 将 tab 键 以 ^| 显示出来
-v 列出一些看不见的特殊字符

tac 从最后一行开始显示文件的信息,tac是act倒着写的


more
space 空格键 向下翻页
Enter 回车键 下一行
/ 向下查找
:f 立即显示文件名以及行号
q 退出
b 回翻页
n 重复搜索同一个字符(下一个?)

less
pagedown 向下翻页 mac fn+↓
pageup 向上翻页 mac fn+↓


head 从头部开始展示文件 默认显示10行
-n 显示多少行

tail 从尾部部开始展示文件 默认显示10行
-n 显示多少行
-f 动态监控 文件改变时输出


目录操作

创建目录 mkdir
mkdir test
-m 设置目录权限
-p 创建多层目录
mkdir -p a/b/c

创建空文件 touch
couch abc.nfs

创建有内容的文件
echo 123456 > abc.nfs
> 覆盖内容 >> 追加内容

删除文件 目录
删除文件 rm
rm texe.txt
-f 强制删除忽略警告信息
-i 删除文件时 提示 是否删除 y 删除 n 不删除
-r 递归删除 如果又目录则继续删除目录下文件

删除空目录 rmdir
-p 删除多层目录
rmdir -p a/b/c 指定最后一个空目录 以此往上删除 如果删掉当前目录的话让一级也是空的就以此删除上级目录

cp 拷贝命令
-f 强制复制
-r 递归复制 用于目录

mv 移动文件
-f 强制移动 如果目标存在 强制覆盖
-i 询问是否覆盖
-u 目标文件已经存在 并且是新创建的 会进行更新

文件隐藏属相

chattr 设置文件隐藏属性
+ 给文件增加一个隐藏属性
chattr +a abc.txt
- 删除文件一个隐藏属性
chattr -a abc.txt
= 设置文件隐藏属性
chattr =aS abc.txt

属性
A:访问时间不会被更改;可避免I/O较慢的机器过度访问磁盘。
S:文件进行修改时“同步”写入磁盘
a:只能增加数据,不能删除修改 只有ROOT能设置这个属性
c:写入文件时自动压缩。读取文件时自动解压缩
d:当dump程序被执行时,不会被备份
i:不能删除,改名,修改,写入 只有root可以设置
s:文件被删除将会从磁盘空间算出
u:被删除后数据内容还存在磁盘


lsattr 显示文件隐藏属性
-a 显示隐藏属性
-d 展示目录的隐藏属性
-R 连同子目录的文件一起显示

文件权限

所有者 用户组 其他用户

drwxr-xr-x 1 vagrant vagrant 576 Mar 18 13:49 Code/
文件类型(文件或目录)以及权限
首字母 d:目录 l:软链接 -:文件 c:硬件设备 b:块设备
2-4位 表示 文件所有者权限
5-7位 表示 文件所属组权限
8-10位 表示 其他人权限
r 读取 数字4
w 写入 数字2
x 执行 数字1
u+s 一般用于文件或可执行脚本,作用为 借用管理员身份来执行
g+s 一般用于目录,作用为 在该目录下创建的文件或目录 所属组均为 当前目录所属组
o+t 只能用于目录,在该目录下只能删除所属自己的文件
u:用户
g:组
o:其他人
s 和 t 都是占用 x 执行的位置 当文件用于执行权限展示为 s 和 t 如果没执行权限展示为 S 和 T

文件产生的链接数
所属用户
所属组
最后更改的时间
文件或目录名称

chmod 修改文件或目录权限
-R 递归修改目录及其子目录权限
-f 强制修改不提示失败信息
chmod -f 7777 abc.txt
第一个7 表示 特殊权限 u+s 4,g+s 2,o+t 1 用不到时请忽略
第二个7 用户的权限 rwx =7,rw = 6,r =4,rx =5
第三个7 组的权限 rwx
第四个7 其他人的权限 rwx

chown 修改文件或目录所属用户或组
-R 递归修改目录及其子目录所属用户或组
-f 强制修改不提示失败信息
sudo chown root:root abc.txt
root:root
冒号前 表示 所属用户
冒号后 表示 所属组


linux 文件归档(压缩解压缩)
tar 文件归档 使用参数时 不加 -
-cvf 创建归档(压缩) 可将多个文件压缩到一个tar文件 空格分割即可
-zcfv 创建归档并进行压缩 文件后缀 .gz
-jcfv 创建归档并进行压缩 文件后缀 .bz2
-jxfv 解压 .bz2 文件
-tvf 列出归档中的所有文件
-xvf 提前归档中的文件(解压缩)-C 指定解压到那个路径下
-v 显示详情
-f 表示文件
-c 创建
-t 查看
-x 提取
-z 创建并压缩 后缀 .gz
-j 创建并压缩 后缀 .bz2

文件压缩
压缩格式 gz,bz2,xz,zip,Z
bz2 压缩后最小
zip 压缩文件
-r 递归压缩 用于目录
unzip 解压缩
-d 指定解压后的目录

file 查看文件类型
file yangweiye.tar
常见类型如下
empty : 空文件
directory : 目录
English text : 英文正式文件
assembler prohram text : 汇编语言程序正文文件
ascii text : Ascii 编码的文本文件
command text : 命令区域编写的命令正文程序
c program : C语言正文程序
relocation : text 用于连接的目标文件
executable : 可执行的目标代码文件
data : 数据文件

du -sh 查看文件大小

Linux 软件包
rpm 软件包管理

yum

Linux 文件输入、输出、错误重定向
重定向的含义:
在实际的Linux维护中,可以改变输入输出内容的方向,不使用默认的标准输入输出设备,即重定向。

文件描述符
0 标准输入
1 标准输出
2 标准错误

重定向输入
sudo passwd test < passwod.txt

重定向输出
uname > passwod.txt 一个 > 覆盖
echo 123456 >> passwod.txt 两个 >> 追加

重定向错误
ls 123456 2> passwod.txt
ls 123456 2>> passwod.txt

ls passwod.txt 123456 >>passwod.txt 2>> error.log
正确的信息追加到 passwd.txt 错误的追加到 error.log

ls passwod.txt 123456 &>> info.log
把所有信息追加到 info.log

管道符 把两条命令链接起来
ls | grep -i log

tee 读取标准输入的数据,并把其内容输出成文件。
-a 追加

who | tee who.out
将who输出的信息 追加到 who.out 文件中

文件查找

which 查看命令所在位置
which passwd
/usr/bin/passwd
whereis 查找文件 查找二进制文件、源代码文件和man手册页,一般文件的定位需使用locate命令
whereis passwd
passwd: /usr/bin/passwd /etc/passwd /usr/share/man/man5/passwd.5.gz /usr/share/man/man1/passwd.1ssl.gz /usr/share/man/man1/passwd.1.gz

locate 查找一个文件 如果是新文件请执行 updatedb
locate who.out

grep 过滤
-v 取反
-i 不区分大小写

查找所有已 # 开始的行
grep '^#' grep.txt
#IIIIIIII

查找所有已 # 结束的行
grep '#$' grep.txt
iiiiiiii#

查找所有非空的行
grep -v '^$' grep.txt
iiiiiiii#
SSSSSSSSS
#IIIIIIII

查找 i 并且不区分大小写
grep -i 'i' grep.txt
iiiiiiii#
#IIIIIIII

 

转载于:https://www.cnblogs.com/yangweiye/p/8574388.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值