Linux介绍
Linux的前身——Unix
1970年,Unix诞生,因此,1970年被称为Unix元年。
Unix时间戳:指从1970年1月1日0时0分0秒开始,到现在所经过的秒数(不包括闰秒)。
Linux的诞生:1991年
李纳斯·托瓦兹——Linux之父
1992年,Linux加入GNU计划(GNU is NOT UNIX),更名为GNU/Linux
Linux系统的特点:开源、多用户、多任务、良好的用户界面、优异的性能和稳定性;
Windows系统属于单用户、多任务操作系统。
Linux常用指令
Linux基础指令
ls指令:
选项 含义 -l -a -h
cd指令:切换目录
pwd指令:打印当前目录
touch指令:创建文件或者修改文件时间
- 如果文件不存在,可以创建一个空白文件
- 如果文件已经存在,可以更新文件的末次修改时间
mkdir指令:创建一个新的目录
-p 递归创建目录 选项 含义 使用示例:
1
$ mkdir -p newfile/hello/world
注意事项:在linux环境下,不能使用touch指令和mkdir指令在同一目录下创建同名文件/目录
rm指令:删除文件或者目录
选项 含义 -f 强制删除,忽略不存在的文件,无需提示 -r 递归删除目录下的内容,删除文件夹时必须加此参数 注意事项:使用rm指令,文件删除后不能恢复
tree指令:以树状图列出文件目录结构
选项 含义 -d 只显示目录,不显示文件 注意事项:linux系统可能默认不支持tree指令,使用如下命令安装
sudo apt-get install tree
cp指令:将指定文件或目录拷贝到另一个文件或目录中
选项 含义 -i 覆盖文件前提示 -r 若给出的源文件是目录型文件,则cp指令将递归复制该目录下的所有目录和文件,目标文件必须是一个目录名 使用示例:
1
2$ cp readme.md /usr/local/uci/code/test.md # 拷贝并修改文件名
$ cp readme.md /usr/local/uci/code # 拷贝不修改文件名,只需指定目标路径
mv指令:移动文件或目录,也可以给文件目录重命名
选项 含义 -i 覆盖文件前提示
查看文件内容相关指令
cat指令:cancatenate
用于查看文件内容、创建文件、文件合并、追加文件内容等操作
选项 含义 -b 对非空输出行编号 -n 对输出所有行编号
more指令
用于分屏显示文件内容
操作键 功能 空格键 显示文件下一屏的内容 回车键 滚动输出文件下一行的内容 b 回滚到上一屏内容 f 前滚下一屏 q 退出
grep指令
用于搜索文本文件内容,grep [搜索内容] [源文件]
选项 含义 -n 显示匹配行及行号 -v 显示不包含匹配内容的所有行(相当于求反) -i 忽略大小写 使用示例:
1
$ grep "Hello world" Hello.cpp # 用引号将带空格的搜索目标包含在一起
特别地,grep指令具有模式查找功能:
参数 含义 ^a 行首,搜索以a开头的行 ke$ 行尾,搜索以ke结尾的行
远程管理常用命令
关机/重启
- shutdowm
选项 含义 -r 重新启动 -c 取消关机/重启计划 常看或配置网卡信息
- ifconfig
- ping
远程登录和复制文件
ssh指令
命令格式:
ssh [-p port] user@remote
> user是远程机器上的用户名,如果不指定的话就默认为当前用户;
> remote为远程机器的地址,可以是ip/域名,或者是别名;
> port是SSH Server监听端口号,如果不指定,默认值22,-p选项是小写;
注意:ssh终端命令只能在Linux或者UNIX系统下使用
scp指令
命令格式:
scp [-P port] [-r] src user@remote:dest
> port是SSH Server监听端口号,如果不指定,默认值22,-P选项是大写;
> src是源文件路径
> : 后面的路径dest如果不是绝对路径,则以用户的家目录作为参考路径
其他指令
echo指令
echo会在终端中显示参数指定的文字,一般会和重定向联合使用
重定向>和>>
- Linux允许将命令执行结果重定向到一个文件
- 将本应显示在终端上的内容输出/追加到指定文件中
其中,
- >表示输出,会覆盖文件原有的内容
- >>表示追加,会将内容追加到已有文件的末尾
管道|
- Linux允许将一个命令的输出通过管道作为另一个命令的输入
常用的管道命令有:
- more:分屏显示内容
- grep:在命令执行结果的基础上查询指定的文本
Linux进阶指令
Linux主要目录速查表
/:根目录,一般根目录下只存放目录,在Linux下有且只有一个根目录,所有的东西都是从这里开始;
例如,当在终端中输入/home,其实是在告诉电脑,先从/(根目录)开始,然后进入到home目录。
/bin、/usr/bin:可执行二进制文件的目录,如常用的命令:ls、tar、mv、cat等;
/boot:放置Linux系统启动时用到的一些文件,如Linux内核文件:/boot/vnUnuz;系统引导管理器:/boot/grub;
/dev:存放Linux系统下的设备文件,访问该目录下的某个文件,相当于访问某个设备,常见的是挂载光驱:
iiount /dev/cdron/mnt
;/etc:系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有:
1
2
3
4
5
6/etc/inittab
/etc/fstab
/etc/initd
/etc/Xll
/etc/sysconfig
/etc/xinetd.d/home:系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下;
1
2~表示当前用户的家目录,例如:cd ~
^edu表示用户edu的家目录/lib、/usr/lib、/usr/local/lib:系统使用的库函数目录,程序在执行过程中,需要调用一些额外的参数时,需要函数库的协助;
/lost+fount:系统异常产生错误时,会将一些遗失的片段放置在此目录下;
/mnt/media:光盘的默认挂载点,通常光盘挂载于/mnt/cdrom目录下,但也不一定,光盘可以选择任意位置进行挂载;
/opt:给主机额外安装软件所摆放的目录;
/proc:此目录的数据都在内存中,如系统核心、外部设备、网路状态等,由于数据都存放在内存中,所以不占用磁盘空间;
/root:系统管理员root的家目录