对操作系统进行信息查询

硬盘大小

查看磁盘信息:  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基本命令学习的更多相关文章

  1. linux基本命令学习笔记

    这个几天在研究linux的常用基本命令.以下是此时间内的幻灯片截图笔记,在这里留个脚印. linux 常用命令 1,命令的基本格式 2,文件处理命令 3,文件搜索命令 4,帮助命令 5,压缩解压缩命令 ...

  2. linux基本命令--学习记录

    1.mkdir -p 递归创建目录(-p参数代表递归创建): 2.touch 创建file: 3.cat 查看 5.vi 编辑器 6.echo >(直接覆盖) 或者<<(后面追加)单 ...

  3. linux基本命令学习02

    =============================================================================a.txtc:\abc\a.txt windo ...

  4. linux基本命令学习01

    =============================================================================Unix/Linux最主要的应用领域是基础服务 ...

  5. Linux基本命令学习与使用

    1.chgrp,chown,chmod(-R递归修改文件夹下的文件) chgrp:修改文件属于哪个组 chown:修改文件属于哪个用户 chmod:修改文件权限r=4,w=2,x=1 chmod 4+ ...

  6. linux 基本命令学习总结

    1. linux的目录结构  (linux核心:一切皆文件) 目录结构解释 (主要的有 /etc  /home  /mnt  /opt  /usr   /tmp) 相对路径和绝对路径的区别 绝对路径  ...

  7. Linux--常用的linux基本命令学习大全01(适合所有人群)

    常用 Linux 命令的基本使用 序号 命令 对应英文 作用 01 ls list 查看当前文件夹下的内容 02 pwd print wrok directory 查看当前所在文件夹 03 cd [目 ...

  8. Linux基本命令学习-文件基本操作1

    关机重启 shutdown -h now #立即关机 shutdown -h 5 # 5秒后关机 #重启 shutdown -r now #立即重启 reboot halt #重启 文件相关 系统目录 ...

  9. Linux 基本命令学习笔记

    1. 文件管理 Ø touch  新建文件.例: touch test.txt  新建一个test.txt 文件. Ø cp 复制文件.例:cp ./user_one/test_one  ./user ...

随机推荐

  1. 抗疫复产,CDN助企业破局发展

    摘要:CDN的任务就是要确保这条“互联网信息高速公路”的顺畅通行,避免因为拥塞而导致出行效率的降低. 在抗疫复产的过程中,云计算大放异彩.作为数字经济的流量底座,CDN为互联网海量汹涌的数据内容分发保 ...

  2. nodejs打包成桌面程序(exe)的进阶之路

    nodejs打包成桌面程序(exe)的进阶之路 node js bat 前端 计划任务 前言:最近的研究,请大佬们细品 第一篇 - 任务计划程序篇 说真的研究到将nodejs打包成可执行的exe文件是 ...

  3. 日志记录——logging模块

    Logging:日志记录是为了跟踪记录软件运行时,发生的事件,包括出错,提示信息等等.log日志级别:日志级别大小关系为:CRITICAL > ERROR > WARNING > I ...

  4. Python 爬虫+tkinter界面 实现历史天气查询

    文章目录 一.实现效果 1. python代码 2. 运行效果 二.基本思路 1. 爬虫部分 2. tkinter界面 一.实现效果 很多人学习python,不知道从何学起.很多人学习python,掌 ...

  5. 5000字 | 24张图带你彻底理解Java中的21种锁

    本篇主要内容如下: 本篇文章已收纳到我的Java在线文档. Github 我的SpringCloud实战项目持续更新中 帮你总结好的锁: 序号 锁名称 应用 1 乐观锁 CAS 2 悲观锁 synch ...

  6. JavaScript 的 this 指向和绑定详解

    JavaScript 中的 new.bind.call.apply 实际这些都离不开 this,因此本文将着重讨论 this,在此过程中分别讲解其他相关知识点. 注意: 本文属于基础篇,请大神绕路.如 ...

  7. map 地图组件

    地图选择器网址 http://datav.aliyun.com/tools/atlas/#&lat=31.769817845138945&lng=104.29901249999999& ...

  8. Activiti7 提交任务

    package com.itheima.activiti; import org.activiti.engine.ProcessEngine; import org.activiti.engine.P ...

  9. C014:不用算术分割显示逆序三位数

    程序: #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { int handred,ten,ge; do{ pri ...

  10. C#的TextBox的四种禁止编辑方法

    前言 一般而言,Textbox中有两个属性可以对其进行防止编辑的设定,这是最基础的知识,也是我要提出的前两种方法.而后两种方法实际为一种,但可以应用于不同环境中. 一.ReadOnly属性 这样设置, ...