对操作系统进行信息查询

硬盘大小

查看磁盘信息:  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. WS以及NW小世界网络的生成(MATLAB)

    WS小世界网络生成算法,一般小世界网络生成算法速度慢,节点度分布与数学推导不符,在网络仿真中造成不便,这里针对实际网络动力学仿真过程撰写了WS小世界网络的MATLAB生成算法,并考虑了矩阵化,具有较高 ...

  2. iOS 报错: linker command failed with exit code 1 (use -v to see invocation) 原因

    在iOS开发中,很多人会遇到这样的报错 linker command failed with exit code 1 (use -v to see invocation) 可能的原因如下: 1.引用出 ...

  3. Dungeon Master(三维bfs)

    You are trapped in a 3D dungeon and need to find the quickest way out! The dungeon is composed of un ...

  4. 如何利用 docker 快速部署 Mysql 服务

    docker 基础教程不再多说,这里只着重讲如何使用 docker 部署 mysql 服务 docker 拉取 访问 dockerhub,搜索关键词 mysql,我这里选择 mysql-server, ...

  5. web前端笔记(包含php+laravel)

    概况 熟悉HTML5.CSS3.JavaScript.ES6规范 熟悉JQuery框架 熟悉BootStrap 熟悉Less.Sass 熟悉Vue 熟悉Git postman Bootstrap 布局 ...

  6. Mybatis实例增删改查(二)

    创建实体类: package com.test.mybatis.bean; public class Employee { private Integer id; private String las ...

  7. 跟着兄弟连系统学习Linux-【day10】

    day11-20200610 p36.源码包安装过程 (1)安装前需要准备工作 安装gcc编译器(前两期已经安装) 源码保存位置/usr/local/src 软件安装位置:/usr/local/ (2 ...

  8. 东方通Linux应用部署手册

    东方通应用部署文档   进入东方通访问地址: http://192.168.0.12:9060/console/输入用户名密码(thanos/thanos123.com)首页是对东方通软件的一些信息描 ...

  9. Spring.Net依赖注入(属性注入)学习笔记

    一.前言: Spring.Net是Java开源框架迁移过来的,主要分为 1)依赖注入 2)面向方面编程 3)数据访问抽象 4)Asp.Net扩展 四个模块功能,这里只是简单介绍依赖注入模块功能. 对于 ...

  10. php cookie及session

    1.会话控制概括 1)http协议的缺陷 无状态,就是无记忆,不能让同一浏览器和服务器进行多次数据交换时,产生业务的连续性, 2)什么是会话控制 会话控制就是解决http无记忆缺陷的,能够==将数据持 ...