Linux常见指令和环境

os概念、定位:

这里写图片描述

这里写图片描述

操作系统是管理计算机硬件资源,控制其他程序(软件)运行并为用户提供交互操作界面的系统软件的集合。
我理解的操作系统:计算机的硬件系统无法直接被用户使用,而是需要操作系统这个桥梁实现软硬件交互,从而,方便快捷地使用计算机。

操作系统
软硬件资源管理以及为上层应用提供良好的执行环境
管理者将被管理者先描述起来,然后组织起来进行管理
描述起来:用struct结构体
组织起来:用链表或其它高效的数据结构

Linux

Linux操作系统诞生于1991年,林纳斯托瓦兹(Linus Benedict Torvalds)编织了一种类Unix的小操作系统。
Linux在服务器领域占到75%的市场份额,Linux最大的一个特点是:免费开放源代码。因此,各路大牛都可以对Linux源代码进行修改完善,如此造成Linux操作系统优于其它操作系统。也正是因为Linux开源,Linux在嵌入式领域的发展也十分迅猛,仅创建在Linux系统之上的Android系统在嵌入式领域所占市场份额都高达85%。

不是所有的Linux都是免费的,红毛企业级Linux是第一款面向商业市场的Linux发行版。另外一些特别受欢迎的Linux操作系统版本还有Debian、Ubuntu、Centos、Kali Linux、Fedora……

linux指令

1、ls指令
语法: ls [选项] [目录或文件]
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
常用选项:

-a 列出目录下的所有文件,包括以 . 开头的隐含文件。

-d 将目录像文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录

-i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件

-k 以 k 字节的形式表示文件的大小。ls –alk 指定文件

-l 列出文件的详细信息。

-r 对目录反向排序。

-t 以时间排序。

-s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)

-R 列出所有子目录下的文件。(递归)

-1 一行只输出一个文件。
这里写图片描述

2、pwd指令
功能:显示用户当前所在的目录

[xiao-wei@localhost ~]$ pwd
/home/xiao-wei

3、cd指令
Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。

这里写图片描述

语法:cd 目录名
功能:改变工作目录。将当前工作目录改变到指定的目录下。
举例:
cd .. : 返回上级目录
cd /home/xiao-wei/code/ : 绝对路径
cd ../day02/ : 相对路径
cd ~:进⼊入用户家目录
cd -:返回最近访问目录
这里写图片描述

4、touch指令

语法:touch [选项]… 文件…
功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
常⽤用选项:
-a 或–time=atime或–time=access或–time=use只更改存取时间。
-c 或–no-create  不建立任何文档。
-d  使用指定的日期时间,而非现在的时间。
-f  此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
-m 或–time=mtime或–time=modify  只更改变动时间。
-r  把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
-t  使用指定的日期时间,而非现在的时间。
这里写图片描述
5、who显示当前登陆的所有用户,及其终端名和登录到系统的时间。
6、uname显示当前操作系统的信息
7、wc统计文件字节数、行数、字数

-c
-l
-w
- 进入目录需要哪些权限, 在目录中执行增删查(cd, touch, ls, rm, mv等)改文件动作, 需要哪些权限.

进入目录需要可执行权限,
在目录中执行cd需要可执行权限,
在目录中执行touch需要可写、可执行权限,
在目录中执行ls需要可读、可执行权限,

i.读(r):Read对文件而言,具有读取文件内容的权限;
              对目录来说,具有浏览该目录信息的权限
ii.写(w):Write对文件而言,具有修改文件内容的权限;
                对目录来说具有删除移动目录内文件的权限
iii.执行(x):对文件而言,具有执行文件的权限;
execute       对目录来说,具有进入目录的权限
- 查找资料, 了解以下Linux下的重要目录/proc, /sys, /SElinux, /bin, /usr/lib, /usr/local, /var, /tmp

/proc:在Linux下,/proc包含每个运行的进程的目录,包括内核进程。
这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接
访问这个目录来获取系统信息。也就是说,这个目录的内容不在硬盘上
而是在内存里。通常,它是由系统自动安装的,而且大多数文件是只读的。

/SElinux:全称Security-Enhanced Linux. 是增强安全性的Linux。安全增强Linux(SelINUX)是Linux内核安全模块,它提供了一种支持访问控制安全策略的机制。

/bin:bin是binary的缩写,是UNIX类操作系统中根目录的标准子目录
和修复系统的最小功能。
打开 bin目录我们发现。这里面有我们常用的很多命令:cat、mv、cp、su、等。所以这里面存放着使用者最经常使用的命令。/bin是系统默认的路径,它是系统发出命令时搜索相应程序的目录列表。这意味着,只要在命令
行中输入文件名,然后按下Enter键,就可以运行/bin中的对应的可
执行文件(即,可运行程序)从而达到我们执行命令完成对应功能的操作。

/usr/lib:这个目录里存放着内核模块和系统最基本的动态链接共享库
,其作用类似于Windows里的.dll文件。几乎所有的应用程序都须要用
到这些共享库,是二进制文件。它们对于基本系统功能是必不可少的。

/usr/local:用户级的程序目录,可以理解为C:/Progrem Files/。用户自己编译的软件默认会安装到这个目录下。

/var:/var是Linux和其他UNIX类操作系统中根目录的标准子目录,它包含系统在其运行过程中写入数据的文件。
/var中包含可变数据,如系统日志文件、邮件和打印机假脱机目录,以及临时文件和临时文件。VAR的某些部分在不同系统之间是不可共享的。/var包含变量数据,即系统在运行期间必须能够写入的文件和目录,由于网络拓扑或安全问题,有些目录可以放在单独的分区或系统上,更容易备份。

/tmp :在UNIX和Linux中,tmp目录是存放临时文件的地方。Web浏览器在页面浏览和下载期间定期向TMP目录写入数据。

- 查找资料, 了解以下重要命令. du, df, top, free, pstack, su, sudo(sudo -, sudo -s), adduser, password
du - estimate file space usage
Linux下命令,统计目录(或文件)所占磁盘空间的大小。
-a或-all 为每个指定文件显示磁盘使用情况,
  或者为目录中每个文件显示各自磁盘使用情况。

-c或–total 除了显示目录或文件的大小外,
  同时也显示所有目录或文件的总和。

-h或–human-readable 以KMG为单位,提高信息的可读性。
-H或–si 与-h参数相同,但是KMG是以1000为换算单位
  ,而不是以1024为换算单位。

-m或–megabytes 以1MB为单位

-b或-bytes 显示目录或文件大小时,以byte为单位。

这里写图片描述

su 用户名:用来切换用户

这里写图片描述
sudo运行一个命令以超级管理员或者另一个用户的身份,是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等。这样不仅减少了root用户的登录 和管理时间,同样也提高了安全性。sudo不是对shell的一个代替,它是面向每个命令的。

这么吊,在安装了sudo之后还需要配置:
vim /etc/sudoers
这里写图片描述
我的94行就是我配置给用户xiao-wei的sudo系统命令。
这里写图片描述

adduser 用户名:添加新用户
password 用户名:设置密码
userdel 用户名:删除用户

top:Linux系统可以通过top命令查看系统的CPU、内存、运行时间、交换分区、执行的线程等信息。
这里写图片描述
白色行的解释:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND ”显示内容依次为“进程ID”、“进程所有者”、“优先级”、“nice值(负值表示高优先级,正值表示低优先级)、“进程使用的虚拟内存总量”、“进程使用的、未被换出的物理内存大小”、“共享内存大小”、“进程状态”、“上次更新到现在的CPU时间占用百分比”、“进程使用的物理内存百分比”、“进程使用CPU总时间”、“命令名、命令行”

free命令用于显示内存状态。
free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。

 -b, --bytes         show output in bytes
 -k, --kilo          show output in kilobytes
 -m, --mega          show output in megabytes
 -g, --giga          show output in gigabytes
     --tera          show output in terabytes
 -h, --human         show human-readable output
     --si            use powers of 1000 not 1024
 -l, --lohi          show detailed low and high memory statistics
 -t, --total         show total for RAM + swap
 -s N, --seconds N   repeat printing every N seconds
 -c N, --count N     repeat printing N times, then exit
 -w, --wide          wide output

     --help     display this help and exit
 -V, --version  output version information and exit

df命令用于显示磁盘分区上的可使用的磁盘空间。默认显示单位为KB。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息

-a或--all:包含全部的文件系统;
--block-size=<区块大小>:以指定的区块大小来显示区块数目;
-h或--human-readable:以可读性较高的方式来显示信息;
-H或--si:与-h参数相同,但在计算时是以1000 Bytes为换算单位而非1024 Bytes-k或--kilobytes:指定区块大小为1024字节;
-l或--local:仅显示本地端的文件系统;
-m或--megabytes:指定区块大小为1048576字节;

这里写图片描述

pstack命令可显示每个进程的栈跟踪。pstack 命令必须由相应进程的属主或 root 运行。可以使用 pstack 来确定进程挂起的位置。此命令允许使用的唯一选项是要检查的进程的 PID。

命令软件包下载地址:https://packages.debian.org/sid/pstack
这里写图片描述

- 查找资料, 学习如何使用命令安装gcc/g++, gdb, vim

在进行配置安装之前下检查自己的系统有没有这些工具。
这里写图片描述

明显,我只有g++没有安装
如果没有gcc或者gdb没有安装的话,在Linux联网的情况下使用下面命令即可安装

yum install gcc
yum install gdb

这里在root权限下我输入了

yum install gcc-c++  //是gcc-c++ 
实现并完成了g++的安装

这里写图片描述
这里写图片描述

vim配置

Linux初学者都有这种感觉,哇塞,Linux好神奇,vim好棒啊。可是我却不懂如何配置,蓝瘦,香菇。

/etc/vimrc          //这个目录下面就是vim的默认配置文件
vim /etc/vimrc      //可以进入并编辑vim的配置文件

这里写图片描述
小编的30~32行是我自己的进去的:

filetype indent on
autocmd FileType * setlocal ts=4 sts=4 sw=4 ai et nu
autocmd Filetype  make setlocal ts=4 sts=4 sw=4 noet nu

本文参考了博客:https://blog.csdn.net/bitboss/article/details/53927893

猜你喜欢

转载自blog.csdn.net/Vickers_xiaowei/article/details/81838357
今日推荐