囊括Linux基本命令 |
Linux基本操作
根目录 /
/boot
引导程序,内核等存放的目录
/sbin
超级用户可以使用的命令的存放目录
/bin
普通用户可以使用的命令的存放目录
/lib
根目录下的库目录
/dev
设备文件目录
/home
普通用户的家目录
/root
root用户的家目录
/etc
全局配置文件存放目录
/user
类似于windows的progrom files目录
/media
挂载的媒体设备目录(如 插入u盘)
/var
内容经常变化的目录,如缓冲文件,日志文件
/tmp
临时文件目录
/lost+found
恢复文件,当系统崩溃的时候,系统修复过程中需要恢复的文件。(一般此文件夹为空)
别动
/proc
特殊文件目录
/srv
存放服务启动之后需要提取的数据
/sys
装的是一个文件系统
vi编辑器
三种模式
正常/一般模式
打开一个文档就是一般模式,可以使用【上下左右】,删除字符,复制粘贴
插入模式
按下 i 进入编辑模式
命令行模式
可以提供相关指令,完成读取,存盘,替换,离开VI,显示行号等
常用快捷键
正常模式下
拷贝当前行yy,拷贝当前行下面的5行5yy,并粘贴 p
删除当前行 dd,删除当前行下面5行 5dd
使用快捷键到达文章末尾 G ,首行 gg
撤销 u
(可首先显示行号)移动到第11行 11 shift+g
命令模式下
查找某个单词,命令模式下 /关键字 回车 ,输入 n 就是查找下一个
设置/取消行号 命令模式下 :set nu 和 :set nonu
关机重启命令
使用指令运行级别也可以关机开机,init 0 是关机
init 6是重启
shutdown
shutdown -h now 立即关机
shutdown -h 1 一min后关机
shutdown -r now 立即重启
halt
直接使用,效果等价于关机
reboot
重启系统
sync
将内存数据写到磁盘上(关机之前可以执行,防止数据丢失)
用户登录和注销
logout注销用户
用户管理
添加用户
useradd 【选项】 用户名
useradd -d /home/xq xq
设置/修改密码
passwd 用户名
删除用户
userdel 用户名
userdel -r 用户名
会删除家目录
查询用户信息
id 用户名
切换用户
su - 用户名
用户组
类似于角色,系统可以对有共性的多个用户进行统一的管理。
增加组
groupadd 组名
删除组
groupdel 组名
添加用户时直接分组
useradd -g 用户组 用户名
修改用户的组
usermod -g 用户组 用户名
用户和组相关的文件
/etc/passwd
用户配置文件
/etc/group
组配置文件
/etc/shadow
口令配置文件
实用指令
系统运行级别
存放在 /etc/inittab中
指令运行级别(共7个)
0 关机
1 单用户模式(可用于找回root 密码)
3 多用户状态有网络服务
5 图形界面
6 系统重启
切换级别
init [0123456]
一个面试题
找回root密码
思路:进入单用户模式(不用输入密码就可以进),然后修改root密码
帮助指令
man
eg: man ls
help
eg:help cd
文件目录类
pwd
显示绝对路径
ls 【选项】【目录/文件】
最常用-a -l
cd
cd ~ 或者 cd 回到家目录
cd .. 回到当前目录上一级目录
创建目录
mkdir 【选项】 目录
mkdir -p /home/b/a
创建多级目录
删除目录
rmdir
rm -rf 目录
目录非空
touch 文件名称
也可一次性创建多个文件
cp指令
cp 【选项】 source dest
-r递归复制整个文件夹
rm指令
-r 递归删除
-f 不提示
mv命令
改名(在当前文件进行移动)
移动
cat less more
cat(只读)
cat 【选项】 文件
-n显示行号
通常和more结合使用 cat 文件 | more 空格可以切页
more
快捷键
空格 翻页
回车 向下翻一行
ctrl + f 向下滚动一屏
ctrl + b 向上滚动一屏
q立即离开
less 懒加载,主要是显示大型文件
快捷键
回车
空格
pagedown
pageup
?关键字 向上搜寻
/关键字 向下搜寻
q离开
> 和 >>
> 输出重定向:会将原来文件内容覆盖
>> 追加
ls -l >a.txt
将ls -l 显示的内容写到 a.txt 文件中去
ls -l >>a.txt
cat 文件1 > 文件2
将文件1的内容写到文件2中
echo “内容” >文件
直接将内容写到文件中
eg :将当前日历信息写入到文件中 cal >> a.txt
echo
eg:将环境变量输入到屏幕上
echo $PATH
head
head 文件 显示文件前10 行
head -n 5 文件 显示文件前5行
tail
tail -f 文件 实时监控文件变化
ln指令 软链接指令,类似于windows快捷方式
ln -s 【源文件或者目录】 【软链接名】
history指令
history 显示所有执行过的指令
history 10 显示最近的10条指令
!188 直接执行188号指令
history > a 把指令过的指令重定向到a文件中去
时间日期类指令
显示时间
date
date +%Y
date +%m
date +%d
date +%Y-%m-%d %H:%M:%S
设置时间
date -s “2019-1-5 20:56:30”
显示日期
cal
cal 2020
工作中实际问题
配置 ~/.bashrc文件
新建 env.sh 文件
重新编译 ./configure --prefix=/home/scai010/usr/local
make && makeinstall
查看当前所用python版本 :which python
搜索查找类
find
find 【搜索范围】 【选项】
按名字搜索
find /home -name hello.txt
按文件拥有者查找
按文件大小查找
find / -size +20M
locate
首先创建数据库
update
然后查找 locate 1.txt
grep,管道指令
grep 【选项】查找内容 源文件
选项 -n显示行号 -i 忽略大小写
grep -n yes 1.txt
cat 1.txt | grep -ni yes
压缩/解压缩
gzip gunzip
使用 直接加文件名即可
注意 原来文件会消失,只留下压缩文件
zip unzip
zip -r 1.zip /home
递归压缩
unzip -d /opt/tmp/ 1.zip
解压到指定目录
tar
将1.txt 2.txt 打包成 a.tar.gz
tar -zcvf a.tar.gz 1.txt 2.txt
将a.tar.gz 解答到当前目录
tar -zxvf a.targz
将a.tar.gz 解答到beijing目录
tar -zxvf a.targz -C ./beijing
组管理和权限管理
每个文件
当一个文件创建的时候,默认它的所在组,就是它的所有者的所在组。
注意:当修改了文件的所有者,文件的所在组是不会随着修改之后所有者的所在组而变化的,依然是原来用户的所在组。
所有者
所在组
其他组
组管理
查看文件所有者
修改文件所有者(文件所在组不会修改)
chown 所有者 文件
修改文件所在组
chgrp 所在组 文件
修改用户所在组
修改用户初始登录文件
usermod -d /home/xmm xm
权限管理
文件类型(开头的符号)
- 文件
l 软链接
d 文件夹
c 字符设备
b 块文件,硬盘
修改权限
第一种方式 +-=
第二种方式 数字修改
rwx作用在文件和目录上区别
作用在文件
r 可以读取查看
w可以修改,但是不代表可以删除(删除的前提是对所在目录有写权限)
x代表可执行
作用在目录
r代表可读取(ls查看目录内容)
w代表可写(目录内创建+删除+重命名目录)
x可执行,可以进入该目录
crond 任务调度
任务调度:是指系统在某个时间执行的特定的命令或程序。
分类:1.系统工作,有些重要的工作必须周而复始地执行。如病毒扫描。2.个别用户工作:个别用户可能希望执行某些程序,比如对mysql数据库的备份。
crontab [选项]
参数说明:
第一个 *
一小时当中第几分钟 0-59
第二个 *
一天当中的第几小时 0-23
第三个 *
一个月当中的第几天 1-31
第四个 *
一年当中的第几个月 1-12
第五个 *
一周当中的星期几 0-7(0和7都代表星期日)
特殊符号说明
* 代表任何时间
, 代表不连续的时间
- 代表连续的时间范围
*/n 代表没隔多久执行一次
crond相关指令
-r 终止任务调度
-l 列出当前所有的任务调度
service crond restart 重启任务调度
例:每隔1 分钟将当前时间写入到 /tmp/mydate 文件中
1.在 /home/xm/movie/ 下建立文件 mycurdate.sh
2.写入 date>>/tmp/mydate
3.给 mycurdate.sh文件 可执行的权利
4.crontab -e 写入 */ 1 * * * * /home/xm/movie/mycurdate.sh
linux 磁盘分区挂载
分区基础知识
mbr分区
gpt分区
磁盘使用情况
实用例子
统计/home文件夹下文件的个数
ls -l /home | grep "^-" | wc -l
基本命令
df 以磁盘分区为单位查看文件系统
df -h(能以*G/M显示大小)
du 查看当前目录使用磁盘空间大小
du -sh
lsblk 用来查看块设备