1.查看目录
ls:List files 查看目录内容
ll :查看目录详细信息
2.创建目录
mkdir:Make Directory 创建目录mkdir -p
:创建目录以及子目录,多个目录同时创建
例如,mkdir -p a/b/c
3.切换目录
cd:Change directory 切换目录cd ..
:指返回上层 ,要加空格cd ../xxx
:进入上一级目录的子目录
4.创建文件
touch:创建一个空白的普通文件
问:为什么linux 创建文件是touch 而不是create?
答:touch的作用本来不是创建文件,而是将指定文件的修改时间设置为当前时间。就是假装“碰”(touch)了一下这个文件,假装文件被“修改”了,于是文件的修改时间就是被设置为当前时间。这带来了一个副作用,就是当touch一个不存在的文件的时候,它会创建这个文件。然后,由于touch已经可以完成创建文件的功能了,就不再需要一个单独的create了。
这个命令最早出现在UnixVersion7中,是KenThompson和DennisRichie两位大神写的一个工具。至于为什么叫这个名字,外网上也有很多讨论,但两位当事人并没有回应过。如果看下Unix/Linux源码,你会发现touch里有这么一行代码:open(“t”,O_WRONLY|O_CREAT|O_NOCTTY|O_NONBLOCK,0666)=3其中的O_CREAT常量就是文件不存在就创建的原因。
5.写入内容
echo : 把内容重定向到指定的文件中 ,有则打开,无则创建
- 覆盖模式,用
>
:echo “ww”>aa.txt
- 追加模式,
>>
:echo "ww">>aa.txt
6.查看文件内容
cat :concatenate “连锁/连接”,连接文件并打印到标准输出设备上。查看文件的内容。
more :分页查看文件内容,按空格键换页
7.复制
cp:Copy file 复制
例,cp a.txt b.txt
,指复制一份a.txt在当前目录,并改名为b.txt
8.剪切/重命名
mv: Move file 移动
剪切、重命名(剪切的文件 放在同一个目录中是重命名)
例如重命名,mv b.txt c.txt
,b.txt重命名为c.txt
9.删除
rm: Remove file 删除文件或者文件夹rm -r
:递归删除rm -rf
:直接彻底删除,没有提示
[root@localhost cjm]# rm testFile
rm: 无法删除"testFile": 是一个目录
[root@localhost cjm]# rm -r testFile
rm:是否删除目录 "testFile"?y
10.统计
wc :Word Countwc -l
:统计行数
[root@localhost cjm]# wc -l test.txt
2 test.txt
11.路径
pwd:print work directory
打印当前目录,显示出当前工作目录的绝对路径
-
./
表示当前目录,例如./test.txt
表示当前目录下的test.txt文件 -
../
表示上级目录,例如../test.txt
表示上级目录下的test.txt文件
12.显示主机
hostname : 显示主机名
13.系统信息
uname -a :显示完整的系统信息
14.查看进程耗时与占用
top :显示当前耗时的进程信息 ,每3秒刷新一次, cltr+c 中断。
top确认CPU和内存的占用情况
15.查看进程快照
ps:process status
查看进程状态,类似于windows的任务管理器
ps -aux
、ps -ef
:显示当前进程的快照
ps -aux | grep java
:查看java进程
ps -aux | grep mysql
:查看 mysql进程
16.文件大小
du:Disk Usage,查看使用的空间du -sh
:显示文件的大小信息
[root@localhost cjm]# du -sh
4.2M .
17.磁盘占用
df:Disk Free,用于显示磁盘分区上的可使用的磁盘空间。默认显示单位为KB
df -lh
:磁盘使用情况
18.网卡
ifconfig:查看网卡信息
19.强制结束
kill pid :杀死进程Kill -9
: 强制杀死
20.查看端口
netstat
常用参数:
-a或–all:显示所有连线中的Socket;
-l或–listening:显示监控中的服务器的Socket;
-n或–numeric:直接使用ip地址,而不通过域名服务器;
-p或–programs:显示正在使用Socket的程序识别码和程序名称;
-t或–tcp:显示TCP传输协议的连线状况;
netstat -tlnp
:
找出运行在指定端口的进程: netstat -tlnp | grep ':22'
21.打包与拆包
tar:Tape archive (磁带档案)tar - cxzjvf <打包后的文件> <要打包的文件夹/文件>
c :创建的一个归档文件
x :拆包
z :以gzip 格式压缩
j : 以bzip2 格式压缩
v :显示打包或者拆包的文件信息
f : 后面紧接一个 归档文件
- 打包及压缩:
1)tar -czvf yhp.tar.gz ./yhp/
:把当前目录的文件夹yhp打包成yhp.tar.gz压缩包
2)tar -czvf testFile.tar test1.txt test2.txt
:把文件 test1.txt 和 test2.txt 一起打包成testFile.tar 压缩包
3)指定目录: - 拆包及解压缩:
1)tar -xzvf yhp.tar.gz
:把yhp.tar.gz解压到当前目录
2)指定目录:tar -xzvf test1.tar.gz -C testFile/
:把test1.tar.gz解压到testFile目录下
22.网络配置
- 修改网络配置:
vi /etc/sysconfig/network-scripts/ifcfg-ens33
- 重启网络:
service network restart
su : Substitute User , “替代用户”,切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码。
source:
source命令也称为"点命令",也就是一个点符号(.),是bash shell的内部命令。
- 功能:使Shell读入指定的Shell程序文件并依次执行文件中的所有语句。
source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录 - 用法:
source filename
或. filename
grep : Gnu Regular Expression Print ,
(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
运行 Shell 脚本有两种方法:
1、作为可执行程序
将上面的代码保存为 test.sh,并 cd 到相应目录:
chmod +x ./test.sh #使脚本具有执行权限
./test.sh #执行脚本
注意,一定要写成 ./test.sh
,而不是 test.sh
,运行其它二进制的程序也一样,直接写 test.sh,linux 系统会去 PATH 里寻找有没有叫 test.sh 的,而只有 /bin, /sbin, /usr/bin,/usr/sbin 等在 PATH 里,你的当前目录通常不在 PATH 里,所以写成 test.sh 是会找不到命令的,要用 ./test.sh 告诉系统说,就在当前目录找。
2、作为解释器参数
这种运行方式是,直接运行解释器,其参数就是 shell 脚本的文件名,如:
/bin/sh test.sh
/bin/php test.php
这种方式运行的脚本,不需要在第一行指定解释器信息,写了也没用。