Linux常用命令
ctrl+r 搜索历史命令
su - -的作用是使用一个新的运行环境
sudo 使用管理员身份
id 显示当前用户信息
passwd 修改密码
在命令后添加& 放在后台运行
管理后台作业 jobs
ctrl c取消进程,ctrl z是暂停 bg+编号 是继续后台运行暂停的进程 fg+编号 是继续前台运行
-----文件系统
文件系统根为/,严格区分大小写 每一个shell或进程都有一个当前工作目录
pwd 显示当前目录,
~代表家目录
ls -a显示所有文件
ls -l 显示详细信息
ls -r显示递归目录
ls -ld显示目录本身的信息
file查看文件类型 上一级目录
.. 当前目录
. 家目录
~ 上一个工作目录
---复制文件
cp 源文件名目标文件名/其他目录 复制文件夹 需要 -r进行递归复制 -v显示详细信息
---移动文件
mv 文件 文件目录 如果指定文件名 可以重命名
rm删除 -r递归删除 -i交互式提示删除 -f强制删除
创建目录mkdir
删除目录rmdir 不能删除非空文件夹
bin ---保存可执行二进制文件
常用文件夹作用
boot ---操作系统引导目录
dev---保存所以的硬件设备
etc---所有的配置文件
home---家目录
lib---相关的库文件
media---挂载用的
mnt---正常的挂载目录
opt---装一些大型软件
proc---系统的实时信息 只存在内存当中,虚拟的文件夹
sbin---super binary 超级用户才能使用的命令
sys---系统底层信息
tmp---临时目录 会自动的删除
usr---保存应用软件
var—保存经常变化的信息,比如日志
-------linux常用命令
date查看时间
clock查看硬件时间和i按
uptime查看系统运行时间
cal查看日历
------输出查看命令
echo回显
cat查看文本内容
more翻页显示内容 只能向下翻页
less翻页显示内容 带上下翻页
head 用于显示文件的头几行 默认10行 -n指定显示的行数
tail 用于显示文件的末尾几行 默认10行 -f追踪显示文件更新 命令不会退出 而是持续显示新加入的内容 一般用于查看日志
------查看硬件信息
lspci 查看pci设备 -v显示详细信息
lsusb查看usb设备
lsmod查看加载的模块驱动
--关机重启
shutdown -h关机 -r重启
shutdown -h now 立即关机
shutdown -h +10 10分钟后关机
shutdown -h 23:30
shutdown -r now poweroff 立即关机
reboot 立即重启
--归档、压缩
zip linuxcast.zip myfile
unzip linuxcast.zip
解压缩
gzip linuxcast.net
tar归档文件 tar -cvf out.tar linuxcast文件夹 并不会压缩 只是归档
tar -xvf linuxcast.tar 解开归档 加入-z参数将归档后的归档文件进行gzip压缩减少打消
--查找
locate
locate keyword
find 高级查找文件
find 查找位置 查找参数
find . -name *linuxcast* -name是基于文件名查找 .是当前目录 find / -name *.conf find / -perm 777 -perm 是基于权限查找 find / -type d -type是基于文件类型 d是目录 l是链接 find . -name "a*" -exec ls -l {} \ -exec是执行的意思,把所有a开头的文件 当成参数进行执行命令 ls -l是要执行的命令
---vim使用
默认在命令模式下,
i 在光标前插入文本
o 在当前行的下面插入行
dd删除整行
yy复制当前行(放入缓冲区)
n+yy 复制n行
p粘贴
u撤销上一个操作
r替换当前字符
/查找关键字
ex模式,
:进入
:w保存修改
:q退出
:q!强制退出 不保存
:x 保存并退出 相当于:wq
:set number 显示行号
:!系统命令
:sh 切换到命令行
ctrl+d返回到vim
MBR分区
分为 主分区 最多只能创建4个主分区
扩展分区
一个扩展分区会占用一个主分区位置,扩展分区是不能用的,必须在扩展分区上创建逻辑分区;
逻辑分区,使用逻辑分区必须要先扩展分区(Linux最多支持63个ide分区和15个scsi分区)
GPT是一个较新的分区机制,支持2T以上的硬盘,必须使用64bit系统,必须在支持uefi的硬件,mac linux系统都能支持gpt分区,win7 64bit windserver08 64bit支持gpt
----------用户和组
用户id为32位,从0开始,id限制在60000一下
用户分为三种:
root id为0 系统用户
1-499 专门为某些服务创建的 没有shell
普通用户500以上
系统中的所有文件都有一个所属用户及所属组
id命令显示当前用户的信息
passwd修改当前用户密码
查看用户 whoami 显示当前用户 who显示有哪些用户登陆 w显示哪些用户登陆并且在干什么
--创建用户
useradd username
修改用户信息 usermod -l新用户名 -u新id -d家目录 -g用户所属主组 -G附属组
删除用户 userdel (保留家目录) -r(彻底删除)
创建组 groupadd groupmod -n newname oldname
修改组名 groupmod -g newGid oldGid 修改组id
groupdel删除组
修改文件所属用户和组
chown 用户名 文件名 -R参数递归修改目录下
chgrp 组 文件名 -R参数..
修改权限 chmod 模式 文件 模式如下格式: u g o代表用户组和其他 a可以代指ugo + -代表加入或删除 r w x代表三种
chmod u+rw linuxcast.net,chmod g-x linuxcast.net,chomod a-x linuxcast.net
使用数字权限 rw =6 rwx=7 chmod 660 linuxcast.net
ln -s ln -f(覆盖链接)
df 查看磁盘用量
du查看当前文件夹下的用量
find . -name "*.xml" find . -mtime +3 -type f | xargs
ls -lh
whereis
ls
which
ls
head -n2
tail -2
less查看大文件,ctrl+d/u 翻页,shift +G 最后 shtift+g 开始 ctrl+u crtl+d 翻页
grep 关键字 文件名
sort -k -n -r
uniq -c 去重
wc
vim操作
G文件开头
gg文件结尾
/+关键字查找
dw删除单词
u撤销
p粘贴
tar打包 tar -zcvf bakcup.tgz backup/ c压缩 z表示zip压缩 v显示信息 f
tar -tcf backup.tgz t表示不解压 x表示解压 gzip压缩 zip
网络命令
curl -X 指定method -H 指定 header content-type:application/json -d 指定post的tata 消息体 -b 指定cookie -c 输出响应的setcookie内容到文件 -i 指定输出去response的header信息 -w 指定输出部分格式化的数据
如请求时间 curl -d ' {消息体}' -X POST -H 'Content-type:application/json' http:
wget通常用来下载文件
ping -c 3 -W 1 -q ping3次 每次一秒钟超时 不显示ping的过程信息
网络发包 nc -t www.baidu.com 80 //tcp -l // 监听端口 nc -u -v 127.0.0.1 8888 //udp
telnet远程登录 测试tcp netstat 查看网络端口 tcpdump网络抓包 tcpdum -vvv -i ethp host 10.86.42.63 and tcp and port 2181 -w ./temp.pcap -i 虚拟网卡 指定协议 端口 ssh scp 源地址:目录 目标机
ps 显示进程进程 ps -ef 查看进程信号 UID用户id PID进程id PPID启动该进程的进程id Ccpu占用率 STIME该进程的cpu占用路 TTY虚拟终端 TIME占用的cpu时间 CMD ps -Lf pid 查看指定进程的线程信息
free内存 free -m 以M为单位 free -h 自动显示单位
top交互显示cpu 内存 进程
kill给指定进程发送信号 kill -9 pid 强制终止 kill -l xagrs 将参数列表分成小块传递给其他命令 command | xargs akias name = 'command line'
crontab 定时调度 crontab -e 0 10-19 /2 * * 1-5
rsync 文件同步的命令
iostat iostat -d -k 1 查看tps和吞吐量 iostat -d -x -k 1 10 查看设备使用率 和响应时间 isstat -c 1 10 查看cpu状态