附件:day26–linux入门.pdf
Linux是 基于Unix 的开源免费的操作系统,由于系统的稳定性和安全性几乎成为程序代码运行的最佳系统环境。 (程序基本上在Linux上发布)
Linux系统的应用非常广泛,不仅可以长时间的运行我们编写的程序代码,还可以安装在各种计算机硬件设备中,比如手机(苹果就是基于Linux, Android 最底层是Linux)、平板电脑、路由器等。
unix是一个 多用户,多任务 的操作系统 ,收费 的操作系统.(当时比Windows更小,更安全(win也收钱))
其中:
VmWare
:(威睿公司)功能强大,收费产品virtualBox
: oracle公司( 免费的, 有的电脑不能用)mv
,cp
等命令文件);登录成功
man 命令
: 进入命令 比如man cdq
Ctrl+l
或输入clear
pwd
:显示所在文件层次
cd 目录
:进入文件夹cd 目录/目录
:进入 多层 文件夹cd /目录
:进入根目录下的目录中cd .. (或 cd ../)
:上一级目录(有空格)cd /
:根目录cd ./
:当前目录;cd ~
:回家(回到home中用户目录(root用户会进入root))cd -
:相当于返回键(返回上一个目录)mkdir
创建mkdir -p a/b/c
:创建多层目录 a/b/c (用-p)rmdir
删除
示例:删除/test下的newTest而不需要询问强制删除,在/test下使用rm -rf newTest
注意:rm不仅可以删除目录,也可以删除其他文件或压缩包
ls
:展示的能看见的 文件(和目录)的名称ls -a
: 展示 所有 的文件的名称ls -l
: 显示文件的 详细信息**ll**
(效果与ls -l
一致)大小显示为k;
cat
:显示文件的所有内容cat 文件名
(按tab自动补全文件名)more
: 分页显示q
:退出查看less
: 分页显示**tail**
tail -显示后面n行 文件名
tail -f 文件名
: 动态的查看tail -f catalina.xxx.log
find 目录 参数
find /root -name '*test*'
*
代表模糊查找mv 目录名称 新目录名称
:
示例:
test目录下有一个oldTest目录,改名为newTest
mv oldTest newTest
注意:mv的语法不仅可以对目录进行重命名而且也可以对各种文件,压缩包等进行 重命名的操作
mv 目录名称 目录的新位置
示例:
在test下将newTest目录剪切到 /usr下面,
mv newTest /usr
cp -r 目录名称 目录拷贝的目标位置
-----r代表递归拷贝 (子文件同时拷贝)
示例:
将/usr下的newTest拷贝到根目录下的test中,
cp -r /usr/newTest /test
注意:cp命令不仅可以拷贝目录还可以拷贝文件,压缩包等, 拷贝文件和压缩包时不 用写-r递归
touch 文件名
:创建一个空白的文件示例:
在 test目录下创建一个空文件
touch aaa.txt
cp 源文件 目录/新文件名
例如:
cp 1.txt 2.txt #在同一个文件夹下,复制,名字 2.txt
cp 1.txt 1/1.txt # 复制到下一级文件夹1中, 名字1 .txt
cat 文件
: 只能显示 最后一屏 内容
-more 文件
: 可以显示 百分比 , 回车可以向下一行,** 空格**可以向下一页,q可以退出查看
less 文件
: 查看/etc/sudo.conf文件,可以使用 键盘上的PgUp和PgDn向上和向下翻页 , q结束查看
tail -数字n 文件
: 查看文件后n行, Ctrl+C结束
tail -10 sudo.conf # 查看/etc/sudo.conf文件的 后10行 ,
tail -f catalina-2016-11-11.log #监控文件的变化 动态变化
注意:命令 tail -f 文件 可以对某个文件进行动态监控,例如tomcat的日志文件, 会随着程序的运行,日志会变化
vim 文件
示例:编辑/test下的aaa.txt文件,使用vim aaa.txt
点击键盘 i/a/o
(一般用i) 进入编辑模式,可以 编辑文件
i
:插入模式 :在后方插入Esc
,退回命令模式;:wq
保存并退出;:q!
tar
tar 参数 文件名(打包之后显示文件名) 要打包|解压的文件目录
常用的组合
- cvf
:打包一个文件或者目录(不压缩)- zcvf
: 打包并压缩一个文件或者目录 压缩的格式:gzip,或 .tar.gz- xvf
: 解压或者打开一个tar文件: tar -xvf xxx.tar.gz-c
:创建一个新tar文件-v
:显示运行过程的信息-f
:指定文件名-z
:调用gzip压缩命令进行压缩-t
:查看压缩文件的内容-x
:解开tar文件例如:
- 打包:
tar -cvf test1.tar ./* #将当前目录下的 所有文件 打包成 test 1.tar:
tar -zcvf test2.tar.gz ./* #将当前目录下的所有文件打包并压缩成test2.tar.gz:
- 解压:
tar -xvf test1.tar # 将test1.tar解压到当前目录
tar -xvf test1.tar -C b # 将test1.tar解压到b目录
grep
:查找文件内部字符串;查找符合条件的字符串(★),显示这一行内容,类似ctrl+f
grep 字符串 文件
:从文件中搜索字符串grep 字符串 文件 -- color
:从文件中搜索字符串,并高亮显示grep 字符串 文件 -- color --B2
: 高亮显示本行和上两行grep 字符串 文件 -- color --A2
:高亮显示本行和下两行示例 :
grep lang anaconda-ks.cfg 在文件中 查找 lang
grep lang anaconda-ks.cfg -- color 高亮 显示(两道-)
grep lang anaconda-ks.cfg --color -- A2 高亮 显示3行(本行和下两行)
grep lang anaconda-ks.cfg --color --B2 (三行,本行和前两行)
pwd
: 显示 当前的工作目录wget
:下载 资料wget 资源路径
wget http://nginx.org/download/nginx-1.9.12.tar.gz
&&
连接,实现逻辑与的功能。示例:
mkdir test && cd test 创建目录test,进入目录test;
ps -ef
ps -ef
: 查看 当前系统中运行的进程ps –ef | grep ssh
:查找某一进程kill
kill
pid:杀掉某一进程kill -9 进程pid
:杀死进程,强制杀死进程ifconfig
:查看所有的网络设置,查看IP地址;ifconfig 网卡名称 down
: 禁用网卡ifconfig 网卡名称 up
: 启用网卡ping
:和window中一样,查看网络是够通畅;会一直连接着,要 通过 ctrl+c 取消
netstat
查看网络 端口 。 netstat -annetstat -an | grep 3306
查询3306端口占用情况查看网卡配置:cat /etc/sysconfig/network-scripts/ifcfg-etho
若是网卡不能用,可以手动配置------将红色部分写入这个文件中
|
作用是 将一个命令的输出用作另一个命令的输入;
运行命令1,结果用命令2使用;
例如:
ifconfig | grep 192.168
在ifconfig的结果里查找 192.168字符串
常用:
ps -ef | grep java
查找和java相关的 进程ps -ef | grep 3306
查找和3306相关的信息其中:ps -ef 查找现在进程
命令 | 描述 |
---|---|
date | 显示当前系统时间 |
date -s “2014-01-01 10:10:10” | 设置系统时间 |
命令 | 描述 |
---|---|
df | 显示 磁盘 信息 |
df –h | 友好显示大小![]() |
命令 | 描述 |
---|---|
free | 显示 内存 状态 |
free –m | 以mb单位显示内存![]() |
命令 | 描述 |
---|---|
top | 显示管理执行中的程序,类似任务管理器;动态改变; |
命令 | 描述 |
---|---|
du | 显示目录或文件的大小 |
du –h | 显示当前目录的大小 |
命令 | 描述 |
---|---|
who | 显示目前登入系统的用户信息 |
命令 | 描述 |
---|---|
hostname | 查看当前主机名 (我定义的jsy) |
修改主机名 | (1)vi /etc/sysconfig/network |
(2)修改其中的HOSTNAME就行;(需要重启起作用) |
命令 | 描述 |
---|---|
uname | 显示系统信息。(显示 Linux ) |
uname -a | 显示本机详细信息。 依次为:内核名称(类别),主机名,内核版本号,内核版本,内核编译日期,硬件名,处理器类型,硬件平台类型,操作系统名称![]() |
vi 文件名
;Esc
键;i 、o、a
键;
i
:在当前位置前插入I
:在当前 行 首插入a
:在当前位置后插入A
:在当前 行 尾插入o
:在当前 行 之后插入一行O
:在当前 行 之前插入一行:(冒号)
;esc
→ :q
;esc
→:wq
;esc
→ :q!
dd
– 快速删除一行;R
– 替换;>
和>>
重定向: 改变输出方式;把本来显示到控制台的内容,写入到文档中,查看文档可见;
>
重定向输出, 覆盖 原有内容;>>
重定向输出, **追加 **功能;示例:
cat /etc/passwd > a.txt 将输出定向到a.txt中
cat /etc/passwd >> a.txt 输出并且追加
ifconfig > ifconfig.txt ifconfig 查询的内容保存到 ifconfig.txt中,覆盖原有内容,用 cat ifconfig.txt 可以看到内容;
若是需要管理权限的输出
sudo sh -c 'echo "hello world" > /opt/1.log'
useradd 用户名
:默认会在 home 目录下给一个用户创建一个目录useradd 用户名 -d /home/目录
: 创建一个用户然后在指定该用户的 家 目录(要在home下)passwd 用户名
: 回车输入密码(要确认密码)userdel 用户名
:只是删除用户 但是不删除家home目录userdel -r 用户名
:删除用户连带家目录一起删除ssh -l 用户名 -p 22 主机(IP)
例如: ssh -l tom -p 22 192.168.17.131 再也yes,输入密码;
su - 用户名(不需要输密码)
exit
当在创建一个新用户user时,若没有指定他所属于的组,就建立一个和该用户同名的私有组;
groupadd 组名
useradd 用户名 -g 组名
:创建用户指定组groupdel 组名
:若组下有用户,删除不了id
:查询当前用户的组信息;查看一个用户的UID和GID
用法:su [选项]… [-] [用户 [参数]… ]
示例:
su - u1
切换到u1用户,并且将环境也切换到u1用户的环境(推荐使用)
su
切换到root用户
root:x:0:0:root:/root:/bin/bash
shadow文件中每条记录用冒号间隔的9个字段组成.
root:x:0:
权限是 Linux中的重要概念,每个文件/目录等都具有权限,通过ls -l
命令我们可以 查看某个目录下的文件或目录的权限
第一列的内容的信息解释如下: 文件的权限:
d
:代表目录-
:代表文件l
:代表链接(可以认为是window中的快捷方式)后面的9位分为3组,每3位置一组,分别代表属主的权限,与当前用户同组的用户的权限,其他用户的权限
r
: 代表权限是可读,r也可以用数字4表示w
: 代表权限是可写,w也可以用数字2表示x
: 代表权限是可执行,x也可以用数字1表示通过ll
展示
-
)d
)l
)*
进入etc可以查看,相当于快捷方式注意:
chmod 000 a.txt
(虽然没有任何权限,但是root依然能读写执行)
chmod 777 a.txt
所有权限
chmod -R 755 * ## 为这个文件夹中的所有文件和子文件设置权限
A用户创建的文件,其他用户无法修改权限,通过这个修改文件所属用户和组来使其他用户可以修改(要在创建文件的用户或root用户中修改);
chown jsy:jsy 3.txt
## 查看权限 : -rw-r--r--. 1 jsy jsy 时间 3.txt