Linux

linux

Linux目录

/:根目录,一般根目录下只存放目录,在Linux下有且只有一个根目录。所有的东西都是从这里开始。当你在终端里输入“/home”,你其实是在告诉电脑,先从/(根目录)开始,再进入到home目录。/bin: /usr/bin: 可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。/boot:放置linux系统启动时用到的一些文件,如Linux的内核文件:/boot/vmlinuz,系统引导管理器:/boot/grub。/dev:存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱 mount /dev/cdrom /mnt。/etc:系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有 /etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d。/home:系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下,表示当前用户的家目录,edu 表示用户 edu 的家目录。/lib: /usr/lib: /usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助。/lost+fount:系统异常产生错误时,会将一些遗失的片段放置于此目录下。/mnt: /media:光盘默认挂载点,通常光盘挂载于 /mnt/cdrom 下,也不一定,可以选择任意位置进行挂载。/opt:给主机额外安装软件所摆放的目录。/proc:此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的目录有 /proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/* 等。/root:系统管理员root的家目录。/sbin: /usr/sbin: /usr/local/sbin:放置系统管理员使用的可执行命令,如fdisk、shutdown、mount 等。与 /bin 不同的是,这几个目录是给系统管理员 root使用的命令,一般用户只能"查看"而不能设置和使用。/tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下。/srv:服务启动之后需要访问的数据目录,如 www 服务需要访问的网页数据存放在 /srv/www 内。/usr:应用程序存放目录,/usr/bin 存放应用程序,/usr/share 存放共享数据,/usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。/usr/local: 存放软件升级包。/usr/share/doc: 系统说明文件存放目录。/usr/share/man: 程序说明文件存放目录。/var:放置系统执行过程中经常变化的文件,如随时更改的日志文件 /var/log,/var/log/message:所有的登录文件存放目录,/var/spool/mail:邮件存放的目录,/var/run:程序或服务启动后,其PID存放在该目录下。

文件的颜色含义
蓝色目录
绿色可执行文件
红色压缩文件
浅蓝色链接文件
灰色其他文件

tab键自动补全

在敲出命令的前几个字母的同时,按下tab键,系统会自动帮我们补全命令

history游览历史

当系统执行过一些命令后,可按上下键翻看以前的命令,history将执行过的命令列举出来

history保留了最近执行的命令记录,默认可以保留1000。历史清单从0开始编号到最大值。常见用法:

history N 显示最近N条命令history -c 清除所有的历史记录history -w xxx.txt 保存历史记录到文本xxx.txt

ctrl组合键

Ctrl+c 结束正在运行的程序

Ctrl+d 结束输入或退出shell

Ctrl+s 暂停屏幕输出【锁住终端】

Ctrl+q 恢复屏幕输出【解锁终端】

Ctrl+l 清屏,【是字母L的小写】等同于Clear

当前光标到行首:ctrl+a

当前光标到行尾:ctrl+e

删除当前光标到行首:ctrl+u

删除当前光标到行尾:ctrl+k

Ctrl+y 在光标处粘贴剪切的内容

Ctrl+r 查找历史命令【输入关键字,就能调出以前执行过的命令】

Ctrl+t 调换光标所在处与其之前字符位置,并把光标移到下个字符

Ctrl+x+u 撤销操作

Ctrl+z 转入后台运行

列出目录的内容:ls

Linux文件或者目录名称最长可以有265个字符,“.”代表当前目录,“…”代表上一级目录,以“.”开头的文件为隐藏文件,需要用 -a 参数才能显示。

ls常用参数:

参数 含义-a 显示指定目录下所有子目录与文件,包括隐藏文件-l 以列表方式显示文件的详细信息-h 配合 -l 以人性化的方式显示文件大小

ls支持通配符:

通配符 含义

*文件代表文件名中所有字符ls te 查找以te开头的文件

ls *html 查找结尾为html的文件? 代表文件名中任意一个字符ls ?.c 只找第一个字符任意,后缀为.c的文件ls a.? 只找只有3个字符,前2字符为a.,最后一个字符任意的文件”将字符组括起来,表示可以匹配字符组中的任意一个。“-”用于表示字符范围。[abc] 匹配a、b、c中的任意一个[a-f] 匹配从a到f范围内的的任意一个字符ls [a-f]* 找到从a到f范围内的的任意一个字符开头的文件ls a-f 查找文件名为a-f的文件,当“-”处于方括号之外失去通配符的作用\ 如果要使通配符作为普通字符使用,可以在其前面加上转义字符。“?”和“*”处于方括号内时不用使用转义字符就失去通配符的作用。ls *a 查找文件名为*a的文件

文件访问权限

用户能够控制一个给定的文件或目录的访问程度,一个文件或目录可能有读、写及执行权限:

读权限(r) :对于文件,具有读取文件内容的权限;对于目录,具有浏览目录的权限。写权限(w) :对于文件,具有修改文件内容的权限;对于目录,具有删除、移动目录内文件的权限。可执行权限(x): 对于文件,具有执行文件的权限;对于目录,该用户具有进入目录的权限。文件内容查看

Linux系统中使用以下命令来查看文件的内容:

  • cat 由第一行开始显示文件内容

  • tac 从最后一行开始显示

  • nl 显示的时候,顺道输出行号

  • more 一页一页的显示文件内容

  • less与more 类似,但可以往前翻页

  • head 只看头几行

  • tail 只看尾巴几行

语法:

cat [-AbEnTv]1选项与参数:

-A :相当于 -vET 的整合选项,可列出一些特殊字符而不是空白而已;-v :列出一些看不出来的特殊字符-E :将结尾的断行字节 $ 显示出来;-T :将 [tab] 按键以 ^I 显示出来;-b :列出行号,空白行不标行号-n :列出行号,连同空白行也会有行号

清屏:clear

clear作用为清除终端上的显示(类似于DOS的cls清屏功能),快捷键:Ctrl + l ( “l” 为字母 )。

切换工作目录: cd

Linux所有的目录和文件名大小写敏感

cd后面可跟绝对路径,也可以跟相对路径。如果省略目录,则默认切换到当前用户的主目录。

命令 含义cd 相当于cd ~cd ~ 切换到当前用户的主目录(/home/用户目录)cd . 切换到当前目录cd … 切换到上级目录cd - 进入上次所在的目录

创建目录:mkdir

mkdir可以创建一个新的目录。

选项与参数:

  • -m :指定被创建目录的权限,而不是根据默认权限 (umask) 设定

  • -p :递归创建所需要的目录

删除文件:rm

可通过rm删除文件或目录。使用rm命令要小心,因为文件删除后不能恢复。为了防止文件误删,可以在rm后使用-i参数以逐个确认要删除的文件。

常用参数及含义如下表所示:

参数 含义-i 以进行交互式方式执行-f 强制删除,忽略不存在的文件,无需提示-r 递归地删除目录下的内容,删除文件夹时必须加此参数

查找文件:find

常用用法:

命令 含义find ./ -name test.sh 查找当前目录下所有名为test.sh的文件find ./ -name ‘*.sh’ 查找当前目录下所有后缀为.sh的文件find ./ -name “[A-Z]*” 查找当前目录下所有以大写字母开头的文件find /tmp -size 2M 查找在/tmp 目录下等于2M的文件find /tmp -size +2M 查找在/tmp 目录下大于2M的文件find /tmp -size -2M 查找在/tmp 目录下小于2M的文件find ./ -size +4k -size -5M 查找当前目录下大于4k,小于5M的文件find ./ -perm 0777 查找当前目录下权限为 777 的文件或目录Linux find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

语法:

find path -option -print {} \;1常用参数说明 :

-perm xxxx:权限为 xxxx的文件或目录-user: 按照文件属主来查找文件。-size n : n单位,b:512位元组的区块,c:字元数,k:kilo bytes,w:二个位元组-mount, -xdev : 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件-amin n : 在过去 n 分钟内被读取过-anewer file : 比文件 file 更晚被读取过的文件-atime n : 在过去n天内被读取过的文件-cmin n : 在过去 n 分钟内被修改过-cnewer file :比文件 file 更新的文件-ctime n : 在过去n天内被修改过的文件-empty : 空的文件-gid n or -group name : gid 是 n 或是 group 名称是 name-ipath p, -path p : 路径名称符合 p 的文件,ipath 会忽略大小写-name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写-type 查找某一类型的文件:b - 块设备文件d - 目录c - 字符设备文件p - 管道文件l - 符号链接文件f - 普通文件-exec 命令名{} \ (注意:“}”和“\”之间有空格)find实例:

显示当前目录中大于20字节并以.c结尾的文件名

find . -name "*.c" -size +20c 1将目前目录其其下子目录中所有一般文件列出

find . -type f1将目前目录及其子目录下所有最近 20 天内更新过的文件列出

find . -ctime -201查找/var/log目录中更改时间在7日以前的普通文件,并在删除之前询问它们:

find /var/log -type f -mtime +7 -ok rm {} \;1查找前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件:

find . -type f -perm 644 -exec ls -l {} \;

拷贝文件:cp

cp命令的功能是将给出的文件或目录复制到另一个文件或目录中,相当于DOS下的copy命令。

常用选项说明:

选项 含义-a 该选项通常在复制目录时使用,它保留链接、文件属性,并递归地复制目录,简单而言,保持文件原有属性。-f 已经存在的目标文件而不提示-i 交互式复制,在覆盖目标文件之前将给出提示要求用户确认-r 若给出的源文件是目录文件,则cp将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名。-v 显示拷贝进度-l 创建硬链接(hard link),而非复制文件本身-s 复制成为符号链接 (symbolic link),相当于批量创建快捷方式-u 若 destination 比 source 旧才升级 destination !cp vim_configure/ code/ -ivr 把文件夹 vim_configure 拷贝到 code 目录里。

移动文件:mv

mv命令用来移动文件或目录,也可以给文件或目录重命名。

常用选项说明:

选项 含义-f 禁止交互式操作,如有覆盖也不会给出提示-i 确认交互方式操作,如果mv操作将导致对已存在的目标文件的覆盖,系统会询问是否重写,要求用户回答以避免误覆盖文件-v 显示移动进度

归档管理:tar

此命令可以把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据。

tar使用格式 tar [参数] 打包文件名 文件

tar命令参数很特殊,其参数前面可以使用“-”,也可以不使用。

常用参数:

参数 含义-c 生成档案文件,创建打包文件-v 列出归档解档的详细过程,显示进度-f 指定档案文件名称,f后面一定是.tar文件,所以必须放选项最后-t 列出档案中包含的文件-x 解开档案文件

文件压缩解压:gzip、bzip2

tar与gzip命令结合使用实现文件打包、压缩。 tar只负责打包文件,但不压缩,用gzip压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz。

gzip使用格式如下:

gzip [选项] 被压缩文件1常用选项:

选项 含义-d 解压文件-r 压缩文件

压缩用法:tar zcvf 压缩包包名 文件1 文件2 …

例如: tar zcvf test.tar.gz 1.c 2.c 3.c 4.c把 1.c 2.c 3.c 4.c 压缩成 test.tar.gz

解压用法: tar zxvf 压缩包包名

解压到指定目录:-C (解压时可以不指定-z选项)

常用命令

1.进入到用户根目录
cd ~ 或 cd
​
2.查看当前所在目录
pwd
​
3.进入到hadoop用户根目录
cd ~hadoop
​
4.返回到原来目录
cd -
​
5.返回到上一级目录
cd ..
​
6.查看hadoop用户根目录下的所有文件
ls -la
​
7.在根目录下创建一个hadoop的文件夹
mkdir /hadoop
​
8.在/hadoop目录下创建src和WebRoot两个文件夹
分别创建:mkdir /hadoop/src
          mkdir /hadoop/WebRoot
同时创建:mkdir /hadoop/{src,WebRoot}
​
进入到/hadoop目录,在该目录下创建.classpath和README文件
分别创建:touch .classpath
          touch README
同时创建:touch {.classpath,README}
​
查看/hadoop目录下面的所有文件
ls -la
​
在/hadoop目录下面创建一个test.txt文件,同时写入内容"this is test"
echo "this is test" > test.txt
​
查看一下test.txt的内容
cat test.txt
more test.txt
less test.txt
​
向README文件追加写入"please read me first"
echo "please read me first" >> README
​
将test.txt的内容追加到README文件中
cat test.txt >> README
​
拷贝/hadoop目录下的所有文件到/hadoop-bak
cp -r /hadoop /hadoop-bak
​
进入到/hadoop-bak目录,将test.txt移动到src目录下,并修改文件名为Student.java
mv test.txt src/Student.java
​
在src目录下创建一个struts.xml
> struts.xml
​
删除所有的xml类型的文件
rm -rf *.xml
​
删除/hadoop-bak目录和下面的所有文件
rm -rf /hadoop-bak
​
返回到/hadoop目录,查看一下README文件有多单词,多少个少行
wc -w README
wc -l README
​
返回到根目录,将/hadoop目录先打包,再用gzip压缩
分步完成:tar -cvf hadoop.tar hadoop
          gzip hadoop.tar
一步完成:tar -zcvf hadoop.tar.gz hadoop
          
将其解压缩,再取消打包
分步完成:gzip -d hadoop.tar.gz 或 gunzip hadoop.tar.gz
一步完成:tar -zxvf hadoop.tar.gz
​
将/hadoop目录先打包,同时用bzip2压缩,并保存到/tmp目录下
tar -jcvf /tmp/hadoop.tar.bz2 hadoop
​
将/tmp/hadoop.tar.bz2解压到/usr目录下面
tar -jxvf hadoop.tar.bz2 -C /usr/
​

权限

创建a.txt和b.txt文件,将他们设为其拥有者和所在组可写入,但其他以外的人则不可写入:
chmod ug+w,o-w a.txt b.txt
​
创建c.txt文件所有人都可以写和执行
chmod a=wx c.txt 或chmod 666 c.txt
​
将/hadoop目录下的所有文件与子目录皆设为任何人可读取
chmod -R a+r /hadoop
​
将/hadoop目录下的所有文件与子目录的拥有者设为root,用户拥有组为users
chown -R root:users /hadoop
​
将当前目录下的所有文件与子目录的用户皆设为hadoop,组设为users
chown -R hadoop:users *
​

VIM

i
a/A
o/O
r + ?替换
​
0:文件当前行的开头
$:文件当前行的末尾
G:文件的最后一行开头
1 + G到第一行 
9 + G到第九行 = :9
​
dd:删除一行
3dd:删除3行
yy:复制一行
3yy:复制3行
p:粘贴
u:undo
ctrl + r:redo
​
"a剪切板a
"b剪切板b
​
"ap粘贴剪切板a的内容
​
每次进入vi就有行号
vi ~/.vimrc
set nu
​
:w a.txt另存为
:w >> a.txt内容追加到a.txt
​
:e!恢复到最初状态
​
:1,$s/hadoop/root/g 将第一行到追后一行的hadoop替换为root
:1,$s/hadoop/root/c 将第一行到追后一行的hadoop替换为root(有提示)
​

打包与压缩

1.gzip压缩
gzip a.txt
​
2.解压
gunzip a.txt.gz
gzip -d a.txt.gz
​
3.bzip2压缩
bzip2 a
​
4.解压
bunzip2 a.bz2
bzip2 -d a.bz2
​
5.将当前目录的文件打包
tar -cvf bak.tar .
将/etc/password追加文件到bak.tar中(r)
tar -rvf bak.tar /etc/password
​
6.解压
tar -xvf bak.tar
​
7.打包并压缩gzip
tar -zcvf a.tar.gz
​
8.解压缩
tar -zxvf a.tar.gz
解压到/usr/下
tar -zxvf a.tar.gz -C /usr
​
9.查看压缩包内容
tar -ztvf a.tar.gz
​
zip/unzip
​
10.打包并压缩成bz2
tar -jcvf a.tar.bz2
​
11.解压bz2
tar -jxvf a.tar.bz2
​

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值