linux基本命令学习02
=============================================================================
a.txt
c:\abc\a.txt windows写法(反斜杠)
/abc/a.txt linux写法(斜杠)
-----------------------------------------------------------------------------
相对路径表达方法
cat a.txt 如果不加任何路径说明,默认是当前目录下的文件。
cat ./a.txt 明确的指明,a.txt在当前目录下,这是一种相对路径的写法。
cat ../a.txt 明确的指明,a.txt在上一级目录下,这也是一种相对路径的写法。
cat ./../a.txt 明确的指明,a.txt在上一级目录下,这也是一种相对路径的写法(与上一种等同)。
cat ../2/a.txt a.txt 在上一级目录的2子目录下。
-----------------------------------------------------------------------------
绝对路径,绝对路径总是从根目录开始的。
/home/zhujy/2/a.txt
=============================================================================
注意:
普通用户的主目录一般都是在/home/下
root用户的主目录在/目录下
-----------------------------------------------------------------------------
常见的Unix/Linux系统目录如下:
/: Unix/Linux系统的根目录,包含Unix/Linux系统的所有目录和文件。
/etc: 有关系统设备与管理的配置文件。
/sbin: 存放系统启动时所需的运行程序。
/bin: 该目录中含有常用的命令文件。
/usr/local: 存放用户后期安装的应用程序文件。
/root: 超级用户主目录。
/dev: 接口设备文件目录,保存外围设备代号。(Unix/Linux系统把每个设备都映射成一个文件,这就是设备文件。)
/home: 普通用户的宿主目录,通常将其设置在独立的分区。
-----------------------------------------------------------------------------
PC机上最多有4个IDE设备,可能是磁盘,也可能是CD/DVD设备。
(PC机上装的硬盘一般都是IDE硬盘:价格便宜、读写速度慢、不能热插拔)
在Unix/Linux中,对于IDE磁盘,使用“hd”表示,并且在“hd”之后使用小写字母表示磁盘编号。
磁盘编号之后是分区编号,使用阿拉伯数字表示。主分区的编号依次是1~4,扩展分区上的逻辑分区编号从5开始。
SATA和SCSI磁盘共同使用“sd”表示。常用存储设备的名称表示如表所示。
(服务器上装的硬盘一般都是SCSI硬盘)
=============================================================================
Unix/Linux文件的命名规则:
(1) 文件名最长可以达到256个字符,可由A~Z、a~z、0~9、.、-、_、等符号组成。
(2) 文件名区分大小写。
(3) 文件没有扩展名的概念。
(4) 使用“/”作为根目录和目录层之间的分隔符。
(5) 支持相对路径和绝对路径。
在Unix/Linux操作系统中也必须区分文件类型,通过文件类型可以判断文件属于可执行文件、文本文件还是数据文件。
在Unix/Linux系统中文件可以没有扩展名。
通常,Unix/Linux系统中常用的文件类型有5种:普通文件、目录文件、设备文件、管道文件和链接文件。
-----------------------------------------------------------------------------
windows中 a.txt,A.TXT是一样的
linux中 a.txt,A.txt是不一样的
-----------------------------------------------------------------------------
A.txt
a.txt
a.Txt
a.tXt
A.Txt
在linux中都不一样
=============================================================================
修改文件或目录的访问权限
法一:使用chmod命令和参数的方式:
chmod [参数] 文件或目录名
chmod o+w a.txt 给其他用户添加写的权限
chmod u-r a.txt 给属主解除读的权限
u:属主,即文件或目录的所有者,拥有对文件最大的读写权限。
g:属组,即与文件属组有相同组ID的所有用户。
o:表示其他用户,通常只具有浏览权限。
a:表示以上所以用户。
法二:使用数字的方式:
rwx rwx rwx 对应于 111 111 111
--- --- --- 对应于 000 000 000
000 001 010 011 100 101 110 111
0 1 2 3 4 5 6 7
rw- r-- --- rwx rwx rwx r-x -w- --x
110 100 000
6 4 0 7 7 7 5 2 1
chmod 640 1 chmod 777 1 chmod 521 1
-----------------------------------------------------------------------------
对一个目录来讲,
如果没有r权限,那么就不能用ls命令查看目录的内容了(读权限)
如果没有w权限,那么就不能在目录下删除或者增加文件了(写权限)
如果没有x权限,那么就不能用cd命令来进入这个目录了(执行权限)
=============================================================================
修改文件的所有者
使用chown 用户名 文件或目录名
例如:chown root a.txt
修改文件的所有组
chgrp 用户名 文件或目录名
例如:chgrp root a.txt
=============================================================================
vi默认是命令模式,
在命令模式下按i或者a进入输入模式。
在输入模式下按esc进入命令模式。
-----------------------------------------------------------------------------
保存:
在命令模式下按 :w 文件名
退出:
在命令模式下按 :q
-----------------------------------------------------------------------------
vi 命令后面没有加文件名时,默认会开启vi,但不会自动打开任何文件,如果在vi中输入了字符,那么就需要执行w命令的时候,后面加文件名。
vi 文件名 如果文件存在,那么就打开这个文件;如果文件不存在,那么就创建这个文件,那么执行w命令的时候,就不需要再写文件名。
:wq 保存同时并退出,不能写成:qw
-----------------------------------------------------------------------------
用vi打开一个文件,修改内容后,如果没有用 :w 保存,直接用 :q 退出的话会提示失败。
如果想不保存退出,那么用 :q!
-----------------------------------------------------------------------------
和很多基于图形的编辑器一样vi也提供撤销功能,对于一个编辑器来说,提供撤销功能是必要的。
用户可以在命令模式下输入“u” 就可以撤销上一次操作。
-----------------------------------------------------------------------------
vi的插入模式
a 光标位置右边插入文字
i 光标位置当前处插入文字
o 光标位置下方开启新行
O 光标位置上方开启新行
I 光标所在行首插入文字
A 光标所在行尾插入文字
-----------------------------------------------------------------------------
退出vi
ZZ 保存退出
:wq 保存退出
:x 保存退出
:w filename 保存到指定文件
:q 退出,如果文件修改但没有保存,会提示无法退出
:q! 退出,不保存
:! 命令暂时退出vi,执行相应命令
-----------------------------------------------------------------------------
vi的删除功能
在vi的输入模式下,用户可以使用Backspace(退格键)来删除光标前面的内容,还可以使用delete键来删除当前的字符。
此外,在vi的命令模式下还提供了几个按键用来删除一个字符或进行整行删除,
x 删除当前光标所在的字符
X 删除光标前一个字符
D 删除光标所在开始到此行尾的字符
dd 删除光标所在的行
dG 删除光标所在开始到文件尾的所有字符
J 合并两行
-----------------------------------------------------------------------------
vi的行定位功能
Ctrl + f 向前卷动一个屏幕
Ctrl + b 向后卷动一个屏幕
G 到文件最后一行行首,G必须为大写
:$ 到文件最后一样行尾
mG 到指定行,m为目标行数,
:set nu 显示行号(这个命令很重要)
:set nonu 显示行号(这个命令很重要)
/内容 查找指定内容
-----------------------------------------------------------------------------
vi的文本查找功能
/字符串 查找指定字符串
n 寻找下一个
N 回到前一个
? 寻找上一个
/^字符串 查找以字符串开始的行
/字符串$ 查找以字符串结尾的行
/a.b 查找字符串a到任意字符b
-----------------------------------------------------------------------------
vi的文本替换功能
r 替换当前光标字符
:r 文件名 在光标当前位置载入另一个文件的内容
:开始行号,截止行号 s /源字符串/目标字符串/g 在指定行号范围内替换字符串(例子如下所示)
:1,$ s /start/end/g 从第一行开始到文件最后,将字符串start全部替换为end
-----------------------------------------------------------------------------
vi的set指令
:set ic 搜寻时忽略大小写
:set noic 搜寻时不忽略大小写
:set nu 显示行号
:set nonu 不显示行号
=============================================================================
小练习步骤:
1、进入root,先创建一个用户abc(注意:创建用户后需要设置用户密码)
useradd -d /home/abc abc -m -s /bin/bash -s代表指定一个shell(这个bash shell更舒服更漂亮些)
useradd -d /home/abc abc -m -s /bin/sh -s代表指定一个shell(默认sh shell)
2、退出root,登录到用户abc
3、用vi写一个c语言的hello world (注意:文件名叫a.c 如果是c语言的源代码文件,扩展名必须是.c)
4、编译这个程序(编译c语言的源代码文件)
gcc -o a a.c -o a:意思是指定编译后的程序名为a。即要编译a.c这个源文件,编译后的可执行程序名字叫a
5、运行这个程序
linux默认不会在当前目录下查找可执行程序;
./a 明确的告诉操作系统,a是在当前目录下。
=============================================================================
如何设置语法高亮?
SeccureCRT中的终端类型默认是VT100或者Xterm,我们要选择linux。字符集一定要是utf8
-----------------------------------------------------------------------------
如何设置默认vi开启的时候,自动显示行号?
第一步,回到用户的主目录下的方法 cd 什么都不加回车即可。
第二步,回到主目录下,生成一个叫.vimrc的文件,文件名前面必须有个。
第三步,在.vimrc中输入set nu。
第四步,保存退出。
-----------------------------------------------------------------------------
shell 一个linux的字符界面会有很多种不同的shell,shell是字符界面的人机交互模式
sh是最古老的,也是最基本的unix的shell
如果在创建用户的时候,没有指定shell,那么登录这个用户的时候默认的shell是sh
shell本身也是一个程序,一般在/bin目录下
=============================================================================
gcc在linux下是操作系统自带的,因为linux操作系统本身就是用gcc编译的。
windows并不会自带gcc,在windows系统下如何使用gcc呢?
方法一,直接去gcc的官网下载安装版本;
方法二,安装QT的时候QT会带一个gcc的版本,gcc一般在qt的安装目录下。
找到gcc.exe在windows下的安装路径,然后把这个路径放入windows系统环境变量的path里面,在path的最后面加上 ;gcc的安装路径。
=============================================================================
如何设置linux系统可以在当前目录查找可执行程序的方法?
1,回到用户的主目录 cd
2,在用户的主目录下,打开文件.profile(在ubuntu系统), .bash_profile(在redhat、centos系统下)
3,在.profile文件的最后,添加一行 export PATH=$PATH:. 注意这里要大小写敏感
4,保存退出
5,执行 source .profile (redhat系统)source .bahs_profile
注意:以上所有的的修改只是针对具体某一个用户的,比如说用户a修改了,但用户b不会生效,比如说root修改了,那么其他用户也不会生效。
=============================================================================
ifconfig 显示网络参数
ifconfig –a 显示网络配置信息
eth0 网络接口名称
Link encap 链路封装协议
Hwaddr 网络接口的MAC地址
Inet addr IP地址
Bcast 广播地址
Mask 子网掩码
UP 网络接口状态标识,UP已经启用,DOWN已经停用
BROADCAST 广播标识,标识网络接口是否支持广播
RUNNING 传输标识,标识网络接口是否已经开始传输分组数据
MULTICAST 多播标识,标识网络接口是否支持多播
MTU,Metric MTU:最大传输单位,单位:字节。Metric:度量值,用于RIP建立网络路由用
RX bytes 接收数据字节统计
TX bytes 发送数据字节统计
-----------------------------------------------------------------------------
route 网络路由设置
route 可以增加,修改,显示路由信息
-----------------------------------------------------------------------------
netstat 该命令监控网络状态,包括接口设置,IP路由,各种网络协议的统计
-----------------------------------------------------------------------------
ping 测试远程主机连通性
ping通过ICMP协议向远程主机发送ECHO_REQUEST请求,期望主机回复ECHO_REPLY消息
通过ping命令可以检查是否与远程主机建立了TCP/IP连接。
=============================================================================
一般服务器会放在机房,很多时候我们一般是通过一某个软件进行远程连接到服务器,然后再去工作。
如何把服务器上的abc.c文件传输到windows下去呢?
1、在CRT上的链接对话框右键打开 选择连接SFTP会话
2、在sftp里面要进入远程的路径和本地的路径,如下:
先用命令pwd 查看远程连接到的linux的目录
cd 1 进入远程连接到的linux的1目录
lcd \test 进入本地window目录
3、get abc.c 从远程目录得到文件abc.c,放入本地目录test
-----------------------------------------------------------------------------
如何把windows下的aaa.c文件传输到linux服务器去呢?
1、在CRT上的链接对话框右键打开 选择连接SFTP会话
2、使用命令 sftp> put aaa.c
3、在CRT下使用 cat aaa.c 查看aaa.c
=============================================================================
windows下的http.tar.gz源代码文件的使用方法?
步骤零:在CRT上的链接对话框右键打开 选择连接SFTP会话
步骤一:先将windows的文件上传到linux
put http.tar.gz
步骤二:回到原始命令行界面 解压
gzip -d http.tar.gz (得到.tar文件)
tar -xvf http.tar (得到http目录)
步骤三:进入http目录
cd http
步骤四:编译这个源代码
make
步骤五:切换到root用户
su
步骤六:用root用户启动程序
./myhttp start
当看到如下:
listen 80 success
myhttp begin
代表程序成功启动了(虽然不会写,但是我们会成功部署别人写好的程序啊!)
在windows浏览器打开 http://192.168.40.134/
可以进行搜索哦!
然后在CRT上的链接对话框右键打开 在新窗口克隆
进入到 chen@ubuntu:~/Desktop/haha/01/http$ 目录下,编辑一个a1.c文件(内容为 hello world)
使用 gcc -o a.cgi a1.c 进行编译后
使用 ./a.cgi 运行得出结果
再在windows浏览器输入 http://192.168.40.134/a.cgi 回车 得到在网页显示的hello world
但是呢,这样显示有些丑,我们可以添加些内容
#include <stdio.h>
int main()
{
printf("<html>");
printf("<img src=aaa.jpg>");
printf("<font color=red size=48>");
printf("hello aheng\n");
printf("</font>");
printf("</html>");
return 0;
}
=============================================================================
linux基本命令学习02的更多相关文章
- linux基本命令学习笔记
这个几天在研究linux的常用基本命令.以下是此时间内的幻灯片截图笔记,在这里留个脚印. linux 常用命令 1,命令的基本格式 2,文件处理命令 3,文件搜索命令 4,帮助命令 5,压缩解压缩命令 ...
- Linux--常用的linux基本命令学习大全01(适合所有人群)
常用 Linux 命令的基本使用 序号 命令 对应英文 作用 01 ls list 查看当前文件夹下的内容 02 pwd print wrok directory 查看当前所在文件夹 03 cd [目 ...
- Linux基本命令学习-文件基本操作1
关机重启 shutdown -h now #立即关机 shutdown -h 5 # 5秒后关机 #重启 shutdown -r now #立即重启 reboot halt #重启 文件相关 系统目录 ...
- linux基本命令--学习记录
1.mkdir -p 递归创建目录(-p参数代表递归创建): 2.touch 创建file: 3.cat 查看 5.vi 编辑器 6.echo >(直接覆盖) 或者<<(后面追加)单 ...
- linux基本命令学习01
=============================================================================Unix/Linux最主要的应用领域是基础服务 ...
- Linux基本命令学习与使用
1.chgrp,chown,chmod(-R递归修改文件夹下的文件) chgrp:修改文件属于哪个组 chown:修改文件属于哪个用户 chmod:修改文件权限r=4,w=2,x=1 chmod 4+ ...
- linux 基本命令学习总结
1. linux的目录结构 (linux核心:一切皆文件) 目录结构解释 (主要的有 /etc /home /mnt /opt /usr /tmp) 相对路径和绝对路径的区别 绝对路径 ...
- Linux基本命令学习
对操作系统进行信息查询 硬盘大小 查看磁盘信息: fdisk -l/dev/sda 操作系统中第一块硬盘的名称以及所在路径linux操作系统中一切皆文件(文件名) sd(硬 ...
- Linux 基本命令学习笔记
1. 文件管理 Ø touch 新建文件.例: touch test.txt 新建一个test.txt 文件. Ø cp 复制文件.例:cp ./user_one/test_one ./user ...
随机推荐
- Python模块之pickle(列表,字典等复杂数据类型与二进制文件的转化)
1.pickle模块简介 The pickle module implements binary protocols for serializing and de-serializing a Pyth ...
- async和enterproxy控制并发数量
聊聊并发与并行 并发我们经常提及之,不管是web server,app并发无处不在,操作系统中,指一个时间段中几个程序处于已经启动运行到完毕之间,且这几个程序都是在同一处理机上运行,并且任一个时间点只 ...
- apache泛域名解析
<VirtualHost *:80> DocumentRoot "E:\work\phpStudy\WWW\ncpx\web" ServerName ncp ...
- Oracle 启动参数
查看数据库的SID DB_NAME SERVICE_NAME
- Linux目录结构详解
/: 根目录,一般根目录下只存放目录,不要存放文件,/etc./bin./dev./lib./sbin应该和根目录放置在一个分区中/bin:/usr/bin: 可执行二进制文件的目录,如常用的命令ls ...
- vue监听scroll使用报错的解决办法
错误说明:在切换路由以后,依旧在其他页面触发了scroll有关的函数, 错误原因:在spa项目中,window对象是不变的,所以每次使用后需要销毁. 解决办法:vue的生命周期destroyed中销毁 ...
- 浅谈JavaScript的面向对象程序设计(一)
面向对象的语言有一个标志,他们都有类的概念,通过类可以创建多个具有相同属性和方法的对象.但是JavaScript中没有类的概念,因此JavaScript与其他的面向对象语言还是有一定区别的.JavaS ...
- 一个IC软件工程师的2017年终工作总结
相比2016年的波澜起伏,2017多了一份平静和清淡.不过,平静的生活下,总有一颗飞向远方的心. 在这一年将近结束的时候,总结一下自己的工作,生活和学习.也顺便展望一下未来的2018,看看有哪些 美好 ...
- egrep及扩展正则表达式 与正则表达式不同处
egrep及扩展正则表达式与正则表达式不同处 正则表达式有两类,分为基本正则表达式和扩展正则表达式,是使用命令egrep来使用扩展正则表达式,它与grep很多功能相同,仅在元字符上实现了些扩展扩展,在 ...
- commons-dbutils 字段名称转换
我们在写bean的时候,字段通常都使用小驼峰命名法,但是在设计数据库时,一般使用下划线分割命名.这样,在取出数据库字段时,还需要转换.如何简洁的实现这种转换呢? 你能遇到的问题,只要是普遍存在的,大家 ...