一、初识linux系统

开始学习操作系统了,平时都接触的是windows系统,毕竟是一个电脑小白,但将来也要成为一名程序员了,linux系统是一个绕不过去的,毕竟大多数互联网公司的服务器段都用的是linux系统,而且Android手机操作系统就是建立在linux的内核上的,可见linux系统的应用是多么广泛呀,而它现在又被我所学习,我是多么的幸运呀!
首先,关于linux系统,我们应该先记住一个时间和一个人名,1991年和林纳斯托瓦兹。
然后,我们也应该对linux系统的特点有所了解,第一点:它是开源的。第二点:由于它是开源的,所以它的稳定性和安全性也是非常高的。

二、常用指令介绍

01 ls
功能:(列出该目录下的所有子目录与文件)
语法:ls[选项][目录或文件]
常用选项:

-a 列出目录下的所有文件,包括.开头的隐藏.
-l 列出文件的详细信息。
-r对目录进行反向排序

举例:在根目录下操作ls命令
linux命令简单总结 目录权限、重要目录、重要命令、使用命令安装gcc/g++, gdb, vim-LMLPHP
02 pwd
功能:显示用户当前所在目录
无常用选项

pwd

03 cd
功能:改变工作目录

cd ..//返回上级目录
cd /home/tom/code  //绝对路径进入指定目录
cd ../code   //相对路径
cd -  //进入家目录
cd ~   //返回最近访问目录

linux命令简单总结 目录权限、重要目录、重要命令、使用命令安装gcc/g++, gdb, vim-LMLPHP

04 touch
功能:修改文档或目录的日期时间,包括存取时间和更改时间:或者新建一个不存在的文件。
语法:touch [选项][文件]

//常用选项
-a   //或--time=atime或--time=access或--time=use  只更改存取时间。

-c   //或--no-create  不建立任何文档。

-d  //使用指定的日期时间,而非现在的时间。

-f  //此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。

-m   //或--time=mtime或--time=modify  只更改变动时间。

-r  //把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。

-t  //使用指定的日期时间,而非现在的时间。
实例
touch class  //创建一个文件。
touch -r class1 class2  //将两个文件的时间改相同。
touch -t 201211142234.50 class //设置文件的时间。

05 mkdir
功能:在当前目录下新建一个目录
语法:mkdir[选选] dirname

-p  --parents 可以一次建立多个目录
mkdir -p test/test1  //递归建立多个目录

06 rmdir
功能:删除空目录.
语法:mkdir [-p] [dirname]

-p 当子目录被删除后如果父目录也变成空目录,就把父目录也一起删除
rmdir dir_name

07 rm
功能:可以同时删除目录和文件。(适用于对当前目录有操作权限的所有使用者)

rm -f   //直接删除
rm -i   //删除前逐一询问
rm -r   //删除目录及其下所有文件

08 man
功能:linux的命令有很多参数,我么不可能完全记住,我们可以通过查看联机手册获取帮助。
语法:man [选项]命令

-k //根据关键词搜索帮助
num //只在第num章节找
-a  //将所有章节显示出来,比如man printf它缺省的第一章开始搜索,知道就停止,用-a选项,当按下q推出,它会继续往后面搜索,直到所有涨价搜索完毕。
手册共8章
1 普通命令
2 系统调用,如open,write之类。
3 库函数
5 文件格式
6 给游戏预留,由各个游戏自己定义
7 附带的还有一些变量,比如environ这种全局变量在这里有说明
8 系统管理的命令,这些命令只能由root使用,比如ifconfig

09 cp
功能:复制文件或目录
语法:cp[选项]源文件或目录 目标文件或目录

-f 强行复制文件或目录,不论文件目录是否已经存在
-i 覆盖文件之前先询问用户
-r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录状态,不属于目录或符号链接,则一律视为普通文件处理
举例
cp -f test1 test2 //把test1 的文件赋值到test2 中,若test2 不存在,则会新创建一个test2

10 mv
功能:移动文件或者将文件改名
语法:mv[选线]源文件或目录 目标文件或目录。
说明:1、是mv命令中第二个参数类型的不同(是目标文件还是目录),mv命令将文件重命名或将其移到一个新的目录中去。2、当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重定名位给定的目标文件名。
3、当第二个参数是已经存在的目录名称时,源文件或目录参数可以有多个,mv命令将各行参数指定的源文件均移到目标目录中

-f //如果目标文件已经存在,不会询问直接覆盖。
-i // 若目标文件存在时,会询问覆盖
mv test1 test2

** 11 cat/tac**
功能:查看目标文件的内容
语法:cat[选线][文件]

-b 对非空输出行号编号
-n 对输出的所有行编号
-s 不输出多行空行

三、linux目录权限

Linux下有两种用户:超级用户(管理员 root ),普通用户
超级用户:在Linux下可以做任何事情,不受限制
普通用户:只能在Linux下做有限的事情
超级用户的命令是su,从管理员切换到普通用于命令是“su username”,而从普通用户切换到超级用户只用输入su,root可以省略。
文件访问者的分类
文件和文件目录的所有者:u-user
文件和文件目录所有者所在的组的用户:g-group
其他用户:o-others
文件访问者的权限种类
权限有:读(R),写(W),执行(X)
读(R):read对于文件来说,可以读取文件里的内容,对于目录来说,可以浏览目录中的信息。
写(W):write对于文件来说,可以修改文件里的内容,对于目录来说,可以删除或者移动目录中的文件。
执行(X):excute对于文件来说,可以执行文件,对目录来说,可以今日目录。
权限的总结
cd(进入目录)–所需权限x
touch(创建文件)–所需权限wx
ls (显示当前目录下的所有文件)–所需权限rx
mv(把文件名1修改为文件名2)–所需权限wx
rm(删除文件)–所需权限wx

四、查找资料, 了解以下Linux下的重要目录/proc, /sys, /SElinux, /bin, /usr/lib, /usr/local, /var, /tmp

/bin:
/usr/bin: 可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。

/sys:
文件系统访问 Linux内核

/SELinux
SELinux是一种基于域-类型模型(domain-type)的强制访问控制(MAC)安全系统,它由NSA编写并设计成内核模块包含到内核中,相应的某些安全相关的应用也被打了SELinux的补丁,最后还有一个相应的安全策略。

/boot:
放置linux系统启动时用到的一些文件。/boot/vmlinuz为linux的内核文件,以及/boot/gurb。建议单独分区,分区大小100M即可

/dev:
存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱mount /dev/cdrom /mnt。

/etc:
系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有/etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d修改配置文件之前记得备份。注:/etc/X11存放与x windows有关的设置。

/home:
系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下,test表示用户test的家目录。建议单独分区,并设置较大的磁盘空间,方便用户存放数据

/lib:
/usr/lib:/usr/local/lib: 系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助,比较重要的目录为/lib/modules。
/proc: 此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的目录有/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/*等

/root:
系统管理员root的家目录,系统第一个启动的分区为/,所以最好将/root和/放置在一个分区下。

/sbin:
/usr/sbin:/usr/local/sbin: 超级管理命令,放置系统管理员使用的可执行命令,如fdisk、shutdown、mount等。与/bin不同的是,这几个目录是给系统管理员root使用的命令,一般用户只能”查看”而不能设置和使用。

/tmp:
一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下

/usr:
应用程序存放目录,/usr/bin 存放应用程序, /usr/share 存放共享数据,/usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。/usr/local:存放软件升级包。/usr/share/doc: 系统说明文件存放目录。/usr/share/man: 程序说明文件存放目录,使用 man ls时会查询/usr/share/man/man1/ls.1.gz的内容建议单独分区,设置较大的磁盘空间

/var:
放置系统执行过程中经常变化的文件,如随时更改的日志文件 /var/log,/var/log/message: 所有的登录文件存放目录,/var/spool/mail: 邮件存放的目录, /var/run: 程序或服务启动

五、 查找资料, 了解以下重要命令. du, df, top, free, pstack, su, sudo(sudo -, sudo -s), adduser, password

du :

 (评估文件系统的磁盘使用量(常用在推估目录所占用量)256)

[root@www ~]# du [-ahskm] 档案或目录名称
选项与参数:
-a :列出所有的档案与目录容量,因为默认仅统计目录底下的档案量而已。
-h :以人们较易读的容量格式 (G/M) 显示;
-s :列出总量而已,而不列出每个各别的目录占用容量;
-S :不包括子目录下的总计,与-s 有点差别。
-k :以 KBytes 列出容量显示;
-m :以 MBytes 列出容量显示;

df:

  (列出文件系统的整体磁盘使用量)

[root@www ~]# df [-ahikHTm] [目录或文件名]
选项与参数:
-a:列出所有的文件系统,包括系统特有的/proc等文件系统
-k:以KBytes的容量显示各个文件系统;
-m:以MBytes的容量显示各个文件系统;
-h:以人们较容易阅读的GBytes,MBytes,KBytes等格式自行显示;
-H:以M=1000k取代M=1024k的进位方式;
-T:连同该parition的filesystem的名称(例如 ext3)也列出来;
-i:不同的硬盘容量,而以inode的数量来显示

top:

(动态观察程序的变化(持续侦测程序运行的状态)613)
[root@www ~]# top [-d 数字] | top [-bnp]
选项与参数:
-d :后面可以接秒数,就是整个程序画面更新的秒数。预设是 5 秒;
-b :以批次的方式执行 top ,还有更多的参数可以使用
通常会搭配数据流重导向来将批次的结果输出成为档案。
-n :与 -b 搭配,意义是,需要进行几次 top 的输出结果。
-p :值=指定某些个 PID 来进行行观察监测而已。
在 top 执行过程当中可以使用的按键指令:
? :显示在 top 当中可以输入的按键指令;
P :以 CPU 的使用资源排序显示;
M :以 Memory 的使用资源排序显示;
N :以 PID 来排序喔!
T :由该 Process 使用的 CPU 时间累积 (TIME+) 排序。
k :给予某个 PID 一个讯号 (signal)
r :给予某个 PID 重新制订一个 nice 值。
q :离开 top 软件的按键。

free:

(观察内存的使用情况 622)
[root@www ~]# free [-b|-k|-m|-g] [-t]
选型与参数:
-b :直接输入 free 时,显示的单位是 Kbytes,我们可以使用 b(bytes), m(Mbytes) k(Kbytes), 及 g(Gbytes) 来显示单位喔!
-t :在输出的最终结果,显示物理内存与swap 的总量

pstack :

格式:root# pstack PID

功能:可显示每个进程的栈跟踪。必须由相应进程的属主或root运行。可以使用pstack来确定进程挂起的位置。

此命令允许使用的唯一选项是要检查的进程的PID

su:

(身份切换指令,可以进行任意的身份切换(509))
[root@www ~]# su [-lm] [-c 指令] [username]
选项与参数: - :单纯使用 - 如『 su - 』代表使用 login-shell 的变量档案读取方式来登入系统;
若使用者名称没有加上去,则代表切换为 root 的身份。
-l :与 - 类似,但后面需要加欲切换癿使用者账号!也是 login-shell 癿方式。
-m :-m 与 -p 是一样,表示『使用目前的环境设定,而不读取新使用者的配 置文件』
-c :仅迚行一次指令,所以 -c 后面可以加上指令!

sudo:

(由于一开始开始系统默认仅有 root 可以执行 sudo(511))
b:在后台执行指令;
-h:显示帮助;
-H:将HOME环境变量设为新身份的HOME环境变量;
-k:结束密码的有效期限,也就是下次再执行sudo时便需要输入密码;。
-l:列出目前用户可执行与无法执行的指令;
-p:改变询问密码的提示符号;
-s:执行指定的shell;
-u<用户>:以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份;
-v:延长密码有效期限5分钟;
-V :显示版本信息。

passwd:

(设定新的密码(491))
[root@www ~]# passwd [–sdtin] <==所有人均可使用来改自己的密码
[root@www ~]# passwd [-l] [-u] [–sdtin] [-S] \

adduser:

(命令功能:指令根据指令行参数给系统添加用户,它的配置信息保存在/etc/adduser.conf文件中。)
adduser[必要参数][选择性参数]用户名
选项与参数
-r|–system创建一个系统用户
-q 只显示警告信息和错误信息,不显示一般信息。
–debug 用于测试。


本文来自 SoYangA 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/SoYangA/article/details/81664691?utm_source=copy

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

安装gcc:yum install gcc

安装g ++:yum install gcc-c ++
安装gdb:再输入yum list | grep gdb

安装VIM:

yum search vim(查看vim相关版本信息)

输入命令yum -y install vim(在线安装)

10-06 11:36