Linux基本命令学习
对操作系统进行信息查询
硬盘大小
查看磁盘信息: fdisk -l
/dev/sda 操作系统中第一块硬盘的名称以及所在路径
linux操作系统中一切皆文件(文件名) sd(硬盘类型) a(第一块)
为什么很多时候实际容量比厂家标注的要小?
因为厂家按照1000作为进制,而操作系统按照1024作为进制
内存大小
cat /proc/meminfo 只需要关注第一行,Memtotal
CPU型号
cat /proc/cpuinfo
关机的命令
reboot 重启
poweroff 关机
操作系统的目录结构及文件属性
linux操作系统树状结构
目录==文件夹
起始 / 是一切的起源
cd change directory
cd .. 返回上一级目录
pwd 显示当前路径
ls list,列出当前目录中的内容
/bin 普通用户和管理员都可以执行的命令
/sbin 只有管理员才能执行的命令 关机重启
/boot 引导 主引导目录 独立的分区 启动菜单 内核
/dev device-设备 设备文件存放目录
/etc 配置文件存放目录
/home 普通用户的家目录
/root 管理员的家
/lib /lib64 一些库文件
/media 光驱的挂载目录
/mnt 临时设备挂载目录
/proc 里面的数据都在内存里,进程的所在目录
/tmp 临时文件存放目录
/usr 软件安装目录
/var 尝变文件存放目录 日志文件 邮件文件
快捷键使用及文件系统分类
安装vmware-tools 实现虚拟机和真实机之间的文件复制
进入文件夹,可以通过绝对路径/相对路径进入
Tab 可以补全命令字/路径/文件
Ctrl+L 清屏
Ctrl+C 终止当前进程
linux通过文件颜色分辨文件类型
蓝色 目录
黑色 普通文件
浅蓝色 符号链接(快捷方式)
黑底黄字 设备文件 硬盘 sda
绿色 可执行文件
红色 压缩包
紫色 图片&模块文件
增删改查基础命令
查看目录下有哪些内容 ls
查看文件内容 cat
创建文件 touch echo "hello" > 文件
创建目录 mkdir 目录名
改:剪切和复制 mv(也可以重命名) cp
创建符号链接 ln -s /tmp/class1/class11.txt /root/Desktop/ [链接名字] (就是快捷方式,一定要用绝对路径)
删除 rm 可选项 -f (强制删除,但是目录下面有东西时不行) -fr/-rf (r递归删除,可以删除目录)
命令字帮助信息查询
linux命令字格式 : 命令字 [选项] [文件或者目录]
那么如何查看一个命令字的帮助手册
man menu-菜单
eg. man ls
退出这个详细的查看模式按q
查询就输入 /-l 就能查到很多包含 -l 的东西, 用 n 键跳下一个
ls -a 查看隐藏文件
ls -l 查看文件的详细信息
ls -lh 显示文件的大小
ls -R 递归显示目录中子目录的内容
当前操作系统有内部命令和外部命令(安装的第三方软件带来的,通常都带有帮助手册)
而内部命令 命令解释器自带的命令 help cd (查看cd的使用)
压缩与解压
/tmp 目录中建立一个大小为100m的文件bigfile
dd if=/dev/zero of=/tmp/bigfile bs=1M count=100
if = inputfile of = outputfile bs 单位 count 计数器
gzip bigfile (用来压缩该文件)
红色代表是压缩文件.
用 file bigfile.gz 命令 分析该压缩文件
可以看出该文件是gzip压缩的
那么怎么解压缩呢?
gunzip bigfile.gz
得到解压文件
还有个bzip2,压缩与解压缩命令分别如下:
root@ryan-virtual-machine:/tmp# bzip2 bigfile
root@ryan-virtual-machine:/tmp# bunzip2 bigfile.bz2
还有查看目录大小,一般不用ls
用 du -sh /tmp
root@ryan-virtual-machine:/tmp# ls -lhd /tmp
drwxrwxrwt 18 root root 4.0K 8月 31 19:48 /tmp
root@ryan-virtual-machine:/tmp# du -sh /tmp
101M /tmp
怎么压缩个目录呢>>>这俩工具都不能压缩目录呀?
如何压缩目录
先进行打包(tar),再压缩.
tar -cf /tmp/allfile.tar /tmp/allfile (c是create)
对allfile文件夹打包成allfile.tar
不打开包的情况下看看包里有啥: tar -tvf allfile.tar
怎么解包呢?
tar -xf allfile.tar -C [目标目录]
有没有直接打包压缩?
tar -zcf /tmp/allfile.tar.gz allfile
可以直接解压解包?
tar -zxf allfile.tar.gz -C [目标路径]
-z使用的gzip压缩, -j 使用的是bzip2
vim编辑器使用
vi编辑器, vim的升级版
在/tmp目录中建立一个名为test.txt的文件并写入hello
三种工作模式: 命令模式 输入模式 末行模式
命令模式->输入模式 : i
输入模式->末行模式 : Esc到命令模式 ,然后输入 : 再加命令 q (推出) / wq (保存退出) / !q (不保存退出)
:set nu 显示行号
:% s/l/x/g %代表每一行, s代表替换, g是代表无论出现多少的 l 都会被替换成 x :% s/old/new/g , 每一行中的old替换成new
命令模式有非常多的快捷编辑快捷键
2yy复制当前行及下一行
p为粘贴到当前行下
dd 删除当前行
gg回到第一行
G回到最后一行
50G去五十行
我想删除50-60的所有行, 光标放在50行, 输入50dd
想要删除50-55行的数据 用 :50,55d
linux软件安装
软件的分类:
源码包 :
代码公开,需要自己编译安装,一般以压缩包形式提供,开源,可以进行二次编辑, 并且会有很多人维护
可以指定安装的路径和编辑所需要的功能
现在有一个 httpd-2.2.15.tar.gz
先解包 tar -zxf httpd-2.2.15.tar.gz -C /usr/src (/usr/src是源码存放路径)
README可以看到软件功能, 安装是哪个文件指导我们呢? INSTALL
通过配置脚本指定安装路径和功能, 并且声称makefile编译脚本文件
/configure --prefix=/usr/local/webserver
通过make命令控制makefile文件进行顺序编译
最后将编译好的文件拷贝到安装路径下 make install
封装后的软件包 :
源码包安装步骤略显繁杂,不同linux厂家对软件进行了封装.
特点后缀
rpm red hat package manager
deb debian
源码包可以不考虑系统的版本, 封装后就不能无视啦 封装好的软件包都是压缩文件
ls | grep "tree" 解释: | 是管道符, 作用是将前一个命令的输出作为后一个命令的输入, grep是过滤, .
安装rpm包软件步骤
针对软件安装,首先要确认有没有安装过该软件. (CentOS) rpm -qa 列出所有已经安装过的rpm软件包 (Ubuntu) dpkg -l
确认该软件的作用 . (CentOS) rpm -qpi [软件名] 查看软件详细信息
确认该软件安装的路径 封装后的软件包安装路径固定
安装软件 (CentOS) rpm -ivh [软件名] (Ubuntu) apt-get installl
怎么卸载 (CentOS) rpm -e [软件名] (Ubuntu) apt-get uninstall
通过yum安装软件
卸载软件需要先卸载依赖它的软件
安装软件需要先安装依赖
不想这样安装卸载了, 想根据依赖关系表安装、卸载软件
linux操作系统中的用户分类
ryan 普通用户 比管理员低, 也可以呃登陆系统
root 超级管理员
用户的分类和组
/etc/passwd 保存了操作系统中所有用户的信息
用户名
密码占位符
用户的uid 0表示超级用户 500-60000表示普通用户 1-499表示程序用户, 不允许登陆系统
基本组的gid 先有组, 才有用户
用户信息记录字段
用户的家目录
用户登陆系统后使用的命令解释器
/etc/shadow 保存了用户密码信息
用户名
用户的密码加密后的字符串
距离1970/1/1 密码最近一次的修改时间
密码的最短有效期
密码的最长有效期
密码过期前7天警告
密码的不活跃期
用户的失效时间
调整及建立用户属性
建立一个class1的组,组id为1005,class2的组id 2000
建立tom用户要求其基本组是class1组, 附加组为class2组, tom用户的uid为600
建立一个程序用户uid为250 用户名为testuser 没有家目录
将tom用户设定密码为123 并设定密码最长有效期为90天 将用户密码进行锁定使其无法登陆系统
删除tom用户和testuser用户 删除class1组和2组
groupadd class1
cat /etc/group 发现建立的组id不符合要求
groupmod -g 1005 class1 我改!
groupadd -g 2000 class2 这次直接干!
useradd -g class1 tom 还要uid?还要附加组
usermod -G 2000 -u 600 tom
useradd -u 250 -M -s /sbin/nologin testuser -M是没有家目录, -s /sbin/nologin 是不能登录
chage -M 90 tom
passwd -l tom 锁定tom
passwd -u tom 解锁tom
passwd -S tom 查看用户密码信息
userdel -r testuser
userdel -r tom
groupdel class1
groupdel class2
调整文件及目录权限
直接查看文件权限的命令
root@ryan-virtual-machine:/tmp# ls -l test.txt
-rw-r--r-- 1 root root 6 8月 31 20:25 test.txt
查看文件夹权限呢
-rw-r--r-- 1 root(所属者) root(所属组) 6(关联的数据 / 目录中的子目录格式) 8月 31 20:25 test.txt
权限一共10个字母 : d rwx --- ---
字段1 : 文件类型 -普通文件 d目录 l符号链接 b块设备
字段2 : 文件所属者对该文件的权限
r w x
文件 读取 写入 执行
目录 可以查看目录内容 可以增删文件 可以进入目录
字段3 : 文件所属组的权限
字段4 : 其他用户的权限(既不是文件所有者也不是文件所属组中的用户)
chmod 用户 算数运算符 权限 文件
用户 : u(所属者) g(所属组) o(其他用户的权限) a(all)
算术运算符 : -去除权限 +添加权限 =指定权限
权限 : rwx
改变所属者为tom 所属组改为tom组
chown tom /tmp/test.txt
chgrp tom /tmp/test.txt
7代表 111 , 是4+2+1 ,代表 rwx全有
粘滞位针对目录进行授权, 目录中创建的文件只有建立者可以删除
chmod o+t test 这个 t
tmp文件夹就有粘滞位, 每个进程只能删除自己的文件
sgid是针对目录建立的权限, 在该目录中建立的文件所属组继承父目录的属组
chmod g+s test
suid针对可执行文件建立.运行这个程序的用户就会继承这个文件所属者的权限, 这个跟系统的安全有很大关系
chmod u+s [文件名]
不再允许添加新用户的请求
创建新用户时候, 没有指定组的话, 先在 /etc/group创建一个用户同名组
再在/etc/passwd注册用户信息
再在/etc/shadow注册密码信息
在/home下生成家目录文件
只要/etc/passwd和/etc/shadow目录锁定 ,就可以不再添加新用户.
chattr +i /etc/passwd /etc/shadow 这就成啦 i 就是不可变属性
解除的话就 -i 即可
umask值
目录的最高权限 0777-0022 = 0755
文件 666 - 022 = 644
umask值最好是027, 让其他用户没有任何权限
在操作系统里怎么修改这个值呢??
一个是在 /etc/profile
还有一个在 /etc/bashrc
建立用户默认密码有效期90天
还在 /etc/profile 文件里修改 PASS_MAX_DAYS
Linux基本命令学习的更多相关文章
- linux基本命令学习笔记
这个几天在研究linux的常用基本命令.以下是此时间内的幻灯片截图笔记,在这里留个脚印. linux 常用命令 1,命令的基本格式 2,文件处理命令 3,文件搜索命令 4,帮助命令 5,压缩解压缩命令 ...
- linux基本命令--学习记录
1.mkdir -p 递归创建目录(-p参数代表递归创建): 2.touch 创建file: 3.cat 查看 5.vi 编辑器 6.echo >(直接覆盖) 或者<<(后面追加)单 ...
- linux基本命令学习02
=============================================================================a.txtc:\abc\a.txt windo ...
- linux基本命令学习01
=============================================================================Unix/Linux最主要的应用领域是基础服务 ...
- Linux基本命令学习与使用
1.chgrp,chown,chmod(-R递归修改文件夹下的文件) chgrp:修改文件属于哪个组 chown:修改文件属于哪个用户 chmod:修改文件权限r=4,w=2,x=1 chmod 4+ ...
- linux 基本命令学习总结
1. linux的目录结构 (linux核心:一切皆文件) 目录结构解释 (主要的有 /etc /home /mnt /opt /usr /tmp) 相对路径和绝对路径的区别 绝对路径 ...
- Linux--常用的linux基本命令学习大全01(适合所有人群)
常用 Linux 命令的基本使用 序号 命令 对应英文 作用 01 ls list 查看当前文件夹下的内容 02 pwd print wrok directory 查看当前所在文件夹 03 cd [目 ...
- Linux基本命令学习-文件基本操作1
关机重启 shutdown -h now #立即关机 shutdown -h 5 # 5秒后关机 #重启 shutdown -r now #立即重启 reboot halt #重启 文件相关 系统目录 ...
- Linux 基本命令学习笔记
1. 文件管理 Ø touch 新建文件.例: touch test.txt 新建一个test.txt 文件. Ø cp 复制文件.例:cp ./user_one/test_one ./user ...
随机推荐
- 第四篇Scrum冲刺博客--Interesting-Corps
第四篇Scrum冲刺博客 站立式会议 1.会议照片 2.队友完成情况 团队成员 昨日完成 今日计划 鲍鱼铭 搜索页面跳转.设计及布局实现 音乐详情页面跳转.设计及布局实现设计 叶学涛 编写设置页面 编 ...
- java面试题0001-区分类中重载方法的依据是什么?
到底是根据什么来区分类中重载的方法? A:不同的返回值类型. B:不同的参数类型. C:不同的访问权限. D:不同的参数名称. 解析: Step1.我们先在DifferentiateReload类中创 ...
- C++字符串与指针
字符串初始化 在C++中基本数据类型并不包括string,string类型其实是一种类类型,通过STL函数库中的模板类basic_string 实例化得到. int main () { // stri ...
- [CSP-S2019]树上的数 题解
CSP-S2 2019 D1T3 考场上写了2h还是爆零……思维题还是写不来啊 思路分析 最开始可以想到最简单的贪心,从小到大枚举每个数字将其移动到最小的节点.但是通过分析样例后可以发现,一个数字在移 ...
- 一张图对比React、Angular、Vue.js
文章原文地址:https://baijiahao.baidu.com/s?id=1609374985643812253&wfr=spider&for=pc
- PHP 日期与时间函数详解
在开发过程中,我们经常碰到日期与时间戳相关的功能,今天趁此机会做个详细笔记. date_default_timezone_set('PRC'); /*把时间调到北京时间,php5默认为格林威治标准时间 ...
- Android开发java开发之常用英文词汇汇总。程序员必备英语单词
ANR (Application Not Response ) bundle 捆, entire 整个的,完整的 lifetime 生命周期 entire lifetime 完整生命周期 visi ...
- 洛谷 P3177 [HAOI2015]树上染色 树形DP
洛谷 P3177 [HAOI2015]树上染色 树形DP 题目描述 有一棵点数为 \(n\) 的树,树边有边权.给你一个在 \(0 \sim n\)之内的正整数 \(k\) ,你要在这棵树中选择 \( ...
- Selenium多浏览器处理
当我们在执行自动化测试过程中,往往会针对不同的浏览器做兼容性测试,那么我们在代码中,可以针对执行命令传过来的参数,选择对应的浏览器来执行测试用例 代码如下: 在终端中执行命令如上图红框中所示: bro ...
- Android Home
unity处理Android的home键响应事件 http://blog.csdn.net/tianyongheng/article/details/38459531 Unity3D教程:处理Home ...