Linux基础命令 最后附教学视频

来源:互联网 发布:mysql if 编辑:程序博客网 时间:2024/04/29 03:18

好吧,新开了博客,刚好前段时间想学搭建LAMP环境,快速过了一遍Linux基本命令,整理了一些笔记,发出来希望对刚入门的Linux有帮助~~

基础知识

ctrl + d 退出 ctrl + l 清屏

ls 显示文件

ls -l a.txt 查看文件权限等

ls ll 查看所有文件权限

mkdir ttt 新建文件夹

rm a.txt 删除文件

rm -r ttt/ 删除文件夹 需要参数 -r

man xx 打开一个命令的手册 /r搜索这个参数 q退出

linux只有一个文件树 / sda1 sda2…是分区 分区可以挂载到挂载点上

pwd 查看当前工作目录

绝度路径以/开始 相对路径以.或者..开始 .代表当前 ..代表上一个

cd 或者 cd - 可以回到用户目录

tab可以自动补齐 两次tab可以查看备选项

文件操作

cp dir1 [-r] dir2 复制文件 如果是目录 要加参数-r

mv 1.txt Desktop/arya 移动文件 [文件] [目录]

touch 1.txt 创建文件

touch .aa 创建隐藏文件 ls看不到 ls -a才看得到

wget http://imooc.com 下载慕课网主页

file index.html 查看文件类型 linux中对文件后缀不敏感

mv index.html index 重命名 去掉后缀后 还是html

cat index 查看文件内容 但是不分页

less index 查看文件内容 分页的

vim 直接进vim编辑器也可以查看

这时候 ctrl ++放大–缩小 j向下或者k向上滚动 /xxx 字符查找 n下一个u上一个

g回到头 G到尾 ctrl+f 下一页 ctrl+b上一页 q退出

sudo apt-get install vim 安装vim

通配符 *

echo a*.html //查当前目录下的文件

rm a*

rm *.html 等 批量操作

打包与压缩 zip tar.gz tar.bz2

unzip 解压缩

zip -r [新压缩文件] [旧文件夹] 压缩命令

tar zxvf xxxx.tar.gz 解压 tar.gz

tar zcvf xxxx.tar.gz wget-1.11.1/ 压缩tar.gz

tar jxvf xxxxx.tar.bz2 解压tar.bz2

tar jcvf xxxxxtar.bz2 wget-1.11.2/ 压缩tar.bz2

重定向

date >output.txt 将结果输出到outpu.txt中

ls /bin|grep less 查看包含less的文件

ls /bin >bin.txt

grep less

文件系统

rwx rwx rwx

owner group world 三个群的权限

-表示文件

l表示符号链接 symlink

d表示目录

1表示硬链接的数量

ls -l

第一个peter表示owner的名字 第二个peter表示group的名字 0代表大小

-rw-rw-r– 1 peter peter 0 Aug 30 11:57 a.txt

创建文件 删除文件 重命名文件 都需要对目录有写权限

查看目录权限 ls -ld .

vim a.sh 创建一个脚本文件 i进入编辑模式 esc退出编辑模式 ZZ保存文件

./ a.sh 执行

chmod +x 添加执行权限 (change file mode)

chmod rw-rw-rw- a.txt 错误×

chmod 110110110 a.txt 错误×

chmod 666 a.txt 正确√

chmod u+x a.txt u 拥有者

chmod a-x a.txt a表示all 所有人

chmod o-x a.txt o 表示其他以外的人

chmod g+x a.txt g表示group 与拥有者属于同一个群体的人

chmod ug+w,o-w file1.txt file2.txt

进程

ctrl + shift + t 打开新终端

ps aux 查看当前所有进程情况

ps aux|less

ps aux|grep vim 直接得到vim进程

top 查看所有进程动态情况

ctrl + shift + c复制

ctrl + shift + v粘贴

kill 4003结束进程 数字是进程号 发送默认信号

kill -9 4003强制杀死 发送KILL信号

firefox & 可以在后台执行

ctrl+z 暂停命令

然后输入bg 也可以在后台运行 先暂停才能放后台

fg 回到前台 然后就可以ctrl+c 结束他

jobs 查看后台活跃中的程序

如果图形界面被卡死

ctrl + alt + f1 切换工作台

ctrl+d退出shell 相当于exit

ctrl+c终止程序

ctrl+z暂停命令

查找

locate vim 全局范围内查找 支持正则表达式 是从数据库找数据 不是实时更新,每天自

动updatedb

locate –regexp xxx

也可以手动updatedb 需要超级用户权限

find

find . 搜索出目录下所有的文件

find .|grep .txt 搜索出目录下的所有txt文件

find . -type f 搜索出所有的文件 过滤掉目录

find . -type d 搜索出所有的目录 过滤掉文件

find . -type f -exec ls -l ‘{}’ ‘;’ // -exec 以 ‘;’ 结束 中间可以写命令 ‘{}’代表find出文件
的内容

find . -type f -exec grep hello ‘{}’ ‘;’ -print 打印出匹配项所在的文件

find . -type f -exec grep -n hello ‘{}’ ‘;’ -print 打印出匹配项所在的行号

find . -type f -exec grep -ni hello ‘{}’ ‘;’ -print 打印出匹配项所在的行号 i忽略大小写

find是可以匹配内容的

网络操作

SSH 协议 22端口 要装SSH客户端 和服务端

ssh peter happycasts.net 如果两边用户名一样 可以省略

ssh-keygen //创建两个文件

cd .ssh 得到公钥 id_rsa.pub 和私钥 id_rsa

ssh-copy-id peter@happycasts.net 上传公钥

ctrl+d+b直接退出vim

rsync 数据同步

rsync -r mydir happycasts.net: //mydir本地目录 happycasts.net: 冒号后面可以
放服务器的目录
默认是用户主目录

rsync -r happycasts.net:mydir . //交换参数 从服务器上下载

同步新增的数据:

rsync -r或者-a mydir/ happycasts.net:mydir/ 斜

rsync -av mydir/ happycasts.net:mydir/ 加上v 过程中打印有用的信息

rsync -av –delete mydir/ happycasts.net:mydir/ –delete能同步删除 不安全

如果误删就完了

rsync -av –delete mydir/ happycasts.net:mydir/ –dry-run 先执行一下 看有没问
题 没问题再真正同步

软件安装

先下载解压 编译好的

echo $PATH 环境变量 可执行程序放在这里 就可以变成系统能找到的命令

也可以创建符号链接

ln -s ~/.sublime/sublime_text ~/bin/subl 这样 用subl就可以启用sublime

安装开源项目 要自己编译

下载解压缩之后 进入源码目录

cd hello-2.2/

三步

  1. ./configure

  2. make

  3. sudo make install

这样就可以执行hello 了

解释:

要是从github clone 的话 要安装先依赖库

make 是执行 gcc happygrep.c -o happygrep 编译成二进制程序

sudo make install 是执行mv happygrep /bin

但是这样手动安装 卸载的时候很麻烦

deb包 包含程序本身 配置文件 安装位置 依赖关系

sudo dpkg -i xxxxxxx 安装deb包 会在数据库留下记录

dpkg -l 可以查看安装过的deb包

dpkg -l|grep sogou 查看之前安装的搜狗输入法

dpkg -L sogoupinyin 可以看具体安装了什么文件

dpkg -S /xx/xx/xx 可以看是哪个包提供的这个文件

一般用apt-get从软件仓库下载比较方便 包裹了dpkg

删除软件

sudo apt-get remove xxx

sudo apt-get purge xxx //可以连配置文件一起删除

apt-cache search xxxx|less 可以看仓库里的软件 (忘记软件名的时候用)

apt-get install xx 安装软件时,可以帮我们处理依赖问题

apt-get update

shell脚本

写脚本时 先指定解析器 ruby pythone ..等等

语句就是命令,命令就是语句

所以..脚本对空格变态的敏感

位置参数
#0 $1 ….等 引用参数 #代表一共有多少个参数 0代表程序名本身

脚本不在当前shell执行 会新开一个shell 但是我们看不见这个shell

非要在当前shell执行脚本也可以: source xxxx.sh

也可以在远程执行脚本

暂时就这么多~ 最后,推荐慕课网上讲师Happypeter的视频教程,是我喜欢的简洁风格.
送上地址 http://www.imooc.com/learn/181

以上~

1 0
原创粉丝点击