您的位置:首页 > 运维架构 > Linux

linux系统学习:基础篇(系统介绍以及命令行的使用)快速入门linux系统

2014-12-05 20:44 1111 查看

Linux 学习笔记(新手入门)

2014年11月29日 星期六 20时44分

本科实习了十天的linux基础知识,现在只剩些许的记忆了。短暂的学习时间,只学到了linux的一些最基本的命令。现在抱着一本《linux命令行和shell脚本编程》重新开始linux的学习咯。此文记录一下自己的学习笔记,让新手可以快速入门linux系统。

1. Linux基础知识:

Linux是由四部分组成,缺一不可:

一、Linux内核;

二、GNU工具组件

三、图形化桌面环境(类似于windows桌面)

四、应用软件

将linux内核和GNU工具组件整合起来,就可以创造一个完整的操作系统。不同的linux发行版通常可以归为三种:

1. 完整的核心Linux发行版;

2. 专业发行版

3. LiveCD测试发行版

Shell(文本命令行界面CLI(终端控制台)):

在图形界面出现之前,和unix系统交互的唯一方式是通过shell提供的文本命令行界面command line interface。 有了图形界面后,可以通过终端进入shell CLI。

虚拟控制台和图形界面的切换

虚拟控制台(文本模式)和图形模式,文本到图形 Ctrl-Alt-F7,

图形界面到文本命令 Ctrl-Alt-F[1-6]

Shell提示符

默认的bash shell提示符是美元符号,所有提示符特殊字符都从反斜线(\)开始。可以通过输入PS1=“[提示符字符][提示符字符]\$”进行设置,

Bash 手册(命令帮助命令)

大多数linux发行版有用以查找shell命令以及其他GNU工具信息的在线手册,可以通过man命令访问,只需要在你想要查找的工具的名称前面输入man命令,如man passwd.里面会有关于passwd命令的详细介绍。看完手册页面,按q键退出返回。

正斜线(/)反(\)linux文件系统

反斜线是用来标识转移字符,如\n,正斜线是用来划分目录路径。

Linux虚拟目录结构之有一个称为根(root)目录的基础目录,其他文件目录都是在此目录下。在根目录下有一些特别的目录,称为挂载点(mount point)。挂载点是虚拟目录中用于分配额外存储设备的目录。

用户文件是存储在硬盘中的,挂载在虚拟目录上,根目录和挂载点是在虚拟目录中。

切换目录命令cd destination

切换目录命令cd可以将shell会话切换到另一个目录。

绝对文件路径:是把完整的路径写出来,以代表根目录的正斜线 / 开头。

相对文件路径:允许用户指定一个基于当前位置的目标文件路径,而无需从根目录开始。有两个特殊字符:

1. 单点符(.),表示当前目录;

2. 双点符(..),表示当前目录的父目录。

如,a/b/c$ cd .. 返回到b目录, cd ../.. 返回到a目录,cd ../../e 返回到a目录下的e目录。

文件和目录列表

ls命令显示当前目录下的文件和目录,更多带参数的用法可以用man ls进行了解。

dir也可以显示当前目录下的文件和目录,跟ls有着相同的用法。

区别:一个是linux一个是window,linux可以重命名指令,要是可以用dir肯定是命令转义的指令。

参数用法说明

单字母参数通常由英文破折号(-)开始,如 -a.

全字参数以双英文破折号开始(--)。如--help, --all等。

两种版本表示的含义一样。

使用多个参数时,多个双破折线参数必须分开输入,而多个单破折线可以组合成一个字符串跟在一个单破折线后面。

问号代表一个字符,星号*通配符代表零个或多个字符。

文件处理命令

创建文件命令: touch,touch命令可以创建任意类型的空文件,但是不能创建文件夹。

vim test.txt 创建一个test文本文件并对其进行编辑。

Vim编辑器编辑文件退出时,按ESC,然后按 :wq进行文件保存并退出,:q表示不保存文件直接退出编辑。:q!表示强制退出编辑。编辑文件时 按i开始插入,编辑文件。

创建文件夹用mkdir命令。

复制文件命令:cp命令,cp source destination。

使用通配符*可以将符号该条件的文件都复制到目标目录中,

重命名文件称为移动(mv命令)。

删除文件叫做移除(removing),rm命令删除文件。

rmdir命令只能删除空目录,

stat命令查看文件状态信息,file 命令查看文件类型。

查看文件内容的命令:

cat命令可以查看文件的内容。所有内容一次性完整的显示在屏幕上。无法按照自己想查看的顺序查看内容。

more 命令可以查看文件的内容,在显示每页数据之后会停下来,可以看到屏幕中显示此时在文件中的位置。

less 命令和more命令功能差不多,每次显示一屏文件内容,它不用读取整个文件,可以上下翻滚查看内容。

tail 命令会显示文件末尾部分的内容, 可以指定末尾的行数。

head 命令查看头部。

快捷键

Ctrl +L(l) : 大小写都可以,清除屏幕或输入(clear)。

exit: 退出当前终端。

who am i : 查看当前账户;

当输入命令的时候,可以输入首字母按tab键补全单词(或名字)。

帐户之间的切换su -student;切换到学生身份,su -root;切换到root用户

passwd 命令改变linux用户登录密码。

" Ctrl+A"跳到行首。" Ctrl+E"跳到行尾。" Ctrl+SHIFT++"放大屏幕。" Ctrl+-"缩小屏幕。

Ctrl+C退出后台,Ctrl+Z退出前台。(对不同的系统不一定有用)

网络配置

使用ifconfig命令查看网络接口配置。

2. Linux命令中级篇

破解linux登录密码

1是单用户模式、破解密码。reboot重启,怎么破解密码:将电脑重启,然后一直按上下键,选择kernel..选项按“e”进入编辑,加一个“1"在后,选择“b”输入自己新的密码,然后“reboot或init 6”重启,完成。

进程管理

当程序运行在系统上时,我们称之为进程(process)。

ps 命令查看当前用户运行在系统上的进程,只能查看某个特定时间点的信息不能实时更新。

top 命令和ps 命令很像,top命令可以实时的显示进程信息。

kill 命令可以通过进程号(PID)给进程发送信号,终止该进程。

killall 命令支持通过进程名结束进程,并可以使用通配符。

挂载存储媒体:linux系统将所有的磁盘都挂载到一个虚拟目录下,在使用新的存储媒体之前,你需要把它放到虚拟目录下,这项工作称为挂载(mounting)。

Linux上用来挂载媒体的命令叫做mount。它会输出当前系统上挂载的设备列表。

从linux系统上移除一个可移动设备时,不能直接移除,应该先卸载它。

卸载设备的命令叫umount。

df 命令用来查看所有已挂载磁盘的使用情况,剩余多少磁盘空间。常用格式 df -h,把输出中的磁盘空间按人类可读的形式显示。

du 命令可以显示某个特定目录的磁盘使用情况,可以用来判断你系统上某个目录下是不是有超大文件的快速方法。

排序数据

sort 命令用来对数据进行排序。sort -M 可以将数据按月份排序。sort -n 将数据按数值排序。

sort -r 将数据按降序排序。

搜索数据

grep命令查找或过滤与指定内容相关的数据。

如grep "root" ifconfig eth0 或ifconfig eth0 |grep"root"对ifconfig,etho这两个文件进行查找与root有关的内容。

过滤内容:使用参数-v.

解压/压缩数据

压缩文件格式主要有三种:.bz2 ----bzip2工具, .gz -----gzip工具, .zip ----工具zip。

Bzip2软件包有以下几个工具:

bzip2: 用来压缩文件。bzcat 用来显示压缩的文本文件的内容。

bunzip2: 用来解压压缩后的.bz2文件。

bzip2recover: 用来尝试恢复损毁的压缩文件。

gzip,zip工具都与bzip2类似,可以man 查看详细介绍。

三者的区别:bzip2和gzip只能对单个文件a进行解压和压缩处理,解压或压缩后的文件会自动命名为a.bz2或a.gz。如bzip2 a, 压缩后的文件为a.bz2. 如bzip a.txt :压缩后的文件为a.txt.bz2。 注意区分压缩时的文件,一定要注意需要压缩的文件的类型。

zip可以对整个目录进行解压和压缩处理。如 zip testzip test:对test目录下的文件进行压缩并命名为testzip。

归档数据

tar命令是unix和linux上最广泛使用的归档工具。

创建一个归档文件:tar -cvf test.tar test/ test1/ 将test和test1目录下的文件归档到test.tar下。

列出tar文件test.tar的内容,但是不解压文件,tar -tf test.tar。

tar -xvf test.tar 从tar文件test.tar中提取内容。

3. Linux环境变量

bash shell 用环境变量(environment variables)的特性存储有关shell会话和工作环境的信息。有全局变量和局部变量。全局环境变量不仅对shell会话可见,对所有shell创建的子进程也可见。局部变量只对创建它们的shell可见。 系统环境变量一律使用全大写字母以区别于普通用户的环境变量。

全局/局部环境变量

查看全局变量,可用printenv命令。

要显示单个全局环境变量的值,可用echo命令。当引用环境变量时,必须在环境变量名称前加一个dollar符号$。

set 命令会显示为某个特定进程设置的所有环境变量。它也包括全局变量。

系统软件更新

系统软件更新:sudo apt-get update 获得最近的软件包的列表。

sudo apt-get install 安装包a:安装需要安装的安装包a。

设置环境变量

设置局部环境变量:直接输入变量名a=变量值b。引用变量a的值时,只要用$a输出的是b。用户环境变量只能在当前shell会话中使用。

设置全局环境变量:先创建一个局部环境变量,然后再使用export a命令把它导入到全局环境变量中。

删除环境变量

unset 命令来删除局部环境变量。如局部环境变量a, 删除 unset a。

pwd 命令是显示当前工作目录的路径。

echo $PATH:查看当前PATH变量的值。PATH中的目录之间是用冒号分隔的。添加新的搜索目录到现有的PATH环境变量,不需要重新定义。只需要引用原来的PATH值然后再加上冒号,加上新目录即可。如PATH=$PATH:/home/test

获得root权限

如果su - root 输入密码登录成功,就可以直接切换到root。

如果不成功,输入sudo -i ,设置root登录密码,此时你会发现你已经是root了。

sudo passwd 用户名a。设置用户a的登录密码。

设置别名

alias命令查看已有的别名命令列表,也可以用来创建自己的命令别名,如alias li=’ls -il’。

要永久使用这个别名,需要将其写入(交互式shell启动文件)$HOME/.bashrc中。

4. Linux文件权限及文件管理

Linux系统使用/etc/passwd文件来将用户的登录名匹配到对应的UID值。Root 用户账户是linux系统的管理员,通常分配给它的UID是0.passwd文件是标准的文本文件,任何进入的用户可以对其进行编辑修改,存在安全隐患。现在,linux系统将用户密码保存在一个单独的文件中/etc/shadow。只有特定的程序才能访问这个文件。

以下命令只能在root账户下使用才有效。

1. 添加新用户到linux系统:useradd命令。useradd -m 用户名test,创建test用户并建立一个主目录/home/test。

2. 删除用户:userdel -r 用户名:删除用户的home目录以及其他文件。

3. 修改用户:usermod命令

备注:用户账号刚创建时没有口令,但是被系统锁定,无法使用,必须为其指定口令后才可以使用,即使是指定空口令。指定和修改用户口令的Shell命令是passwd。

Root权限(修改密码)

超级用户root可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令。普通用户修改自己的口令时,passwd命令会先询问原口令,验证后再要求用户输入两遍新口令,如果两次输入的口令一致,则将这个口令指定给用户;而超级用户root为用户指定口令时,就不需要知道原口令。Root使用passwd -d 用户名test,删除test用户的登录密码,下次登录test用户就不需要密码了。

chpasswd命令为系统中的大量用户修改密码。它能从标准输入自动读取登录名和密码对(由冒号分隔)列表,给密码加密,然后为用户账户设置。

组管理

/etc/group包含组信息。

创建新组:groupadd,在系统上创建新组。它没有提供将用户添加到组的选项,可以用usermod命令来添加用户到该组。用法 Usermod -G 组名 用户名。Usermod 的两个参数G/g注意,-G参数将该组添加到用户的属组的列表里,而不会影响默认组。-g参数,指定的组名会替换掉该账户的默认组。

修改组:groupmod -n 新组名 原组名。

文件权限

Rwx:可读可写可执行。

改变文件的权限:chmod命令,用法:chmod +权限b 文件名a:给文件a添加b权限。

chmod -权限b 文件名a:给文件删除b权限。

chown命令改变文件的属主,chgrp命令改变文件的属组。

用法:chown 新的属主(用户) 文件名。chgrp 新的属组(组名) 文件名。

chown命令也支持同时改变文件的属主和属组,chown 属主.属组 文件名。

文件系统介绍

Linux系统支持多种类型的文件系统来管理文件和目录,每种文件系统都在存储设备上实现了虚拟目录结构,只是特性不同。

1. ext文件系统

最早的文件系统是一个类Unix文件系统叫做扩展文件系统(extended filesystem,简记为ext),使用虚拟目录来操作硬件设备,在物理设备上按定长的块来存储数据。它采用称作索引节点的系统来存放虚拟目录中所存储文件的信息。Linux通过唯一的数值(索引节点号)来引用索引节点表中的每个索引节点。

2. ext2文件系统

ext文件系统限制多,如文件大小不得超过2GB。ext2是ext的一个扩展。

3. 日志文件系统:日志文件系统会先将文件的更改写入到临时文件中,数据成功写入到存储设备和索引节点表后,才删除该临时文件。

操作文件系统

可以在命令行下创建新的文件系统或者修改已有的文件系统。

1. 创建分区

首先,必须在存储设备上创建分区来容纳文件系统,分区可以是整个硬盘或一部分,来容纳虚拟目录的一部分。

fdisk工具帮助管理安装在系统上的任何存储设备上的分区。fdisk命令是个交互式程序,允许输入命令来逐步完成硬盘分区的步骤。

要启动fdisk命令,必须指定要分区的存储设备的设备名。用法fdisk 设备;可以通过fdisk -l查看设备。

2. 创建文件系统

分区后创建文件系统格式化该分区,这样该分区才能开始使用。

创建文件系统的命令有:mkefs, mke2fs, mkfs.ext3, mkfs.ext4, mkreiserfs, mkfs.xfs等。

3. 创建挂载目录,挂载文件系统

mkdir /mnt/test;

mount /dev/sda6 /mnt/test ; //sda6是新创建的分区(临时挂载该文件系统)

要永久挂载该文件系统,需要将文件系统添加到/etc/fstab文件中。在文件中加入:

/dev/sda6(新建的分区) /mnt/test(挂载目录) ext3(文件系统格式) defaults 1 2

文件系统出错处理/恢复

fsck命令用来检查和修复任意类型的linux文件系统,用法:fsck options filesystem;

逻辑卷管理布局

逻辑卷管理的核心是他如何处理安装在系统上的硬盘分区。逻辑卷管理器(logical volume manager, LVM)软件就是用来做这个的。

基础篇已介绍完毕,linux编程开发等高级篇后续。谢谢!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐