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 ...
随机推荐
- 抗疫复产,CDN助企业破局发展
摘要:CDN的任务就是要确保这条“互联网信息高速公路”的顺畅通行,避免因为拥塞而导致出行效率的降低. 在抗疫复产的过程中,云计算大放异彩.作为数字经济的流量底座,CDN为互联网海量汹涌的数据内容分发保 ...
- nodejs打包成桌面程序(exe)的进阶之路
nodejs打包成桌面程序(exe)的进阶之路 node js bat 前端 计划任务 前言:最近的研究,请大佬们细品 第一篇 - 任务计划程序篇 说真的研究到将nodejs打包成可执行的exe文件是 ...
- 日志记录——logging模块
Logging:日志记录是为了跟踪记录软件运行时,发生的事件,包括出错,提示信息等等.log日志级别:日志级别大小关系为:CRITICAL > ERROR > WARNING > I ...
- Python 爬虫+tkinter界面 实现历史天气查询
文章目录 一.实现效果 1. python代码 2. 运行效果 二.基本思路 1. 爬虫部分 2. tkinter界面 一.实现效果 很多人学习python,不知道从何学起.很多人学习python,掌 ...
- 5000字 | 24张图带你彻底理解Java中的21种锁
本篇主要内容如下: 本篇文章已收纳到我的Java在线文档. Github 我的SpringCloud实战项目持续更新中 帮你总结好的锁: 序号 锁名称 应用 1 乐观锁 CAS 2 悲观锁 synch ...
- JavaScript 的 this 指向和绑定详解
JavaScript 中的 new.bind.call.apply 实际这些都离不开 this,因此本文将着重讨论 this,在此过程中分别讲解其他相关知识点. 注意: 本文属于基础篇,请大神绕路.如 ...
- map 地图组件
地图选择器网址 http://datav.aliyun.com/tools/atlas/#&lat=31.769817845138945&lng=104.29901249999999& ...
- Activiti7 提交任务
package com.itheima.activiti; import org.activiti.engine.ProcessEngine; import org.activiti.engine.P ...
- C014:不用算术分割显示逆序三位数
程序: #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { int handred,ten,ge; do{ pri ...
- C#的TextBox的四种禁止编辑方法
前言 一般而言,Textbox中有两个属性可以对其进行防止编辑的设定,这是最基础的知识,也是我要提出的前两种方法.而后两种方法实际为一种,但可以应用于不同环境中. 一.ReadOnly属性 这样设置, ...