LINUX基础命令

一.Linux经常使用基础命令

1.tree命令:以树状形式查看指定目录内容(只能查看目录内容,不能查看文件内容)

tree --以树形结构显示当前目录下的文件信息
tree 目录 --树形结构显示指定目录下的文件信息

复制代码

2.clear :清屏操做

3.ls :查看当前文件夹下的内容

#1)使用方法
ls--显示当前目录下文件信息
ls 目录或文件名 --显示指定目录下文件信息
#2)相关参数
-a:显示指定目录下全部子目录与文件,包含隐藏文件
-R:递归方式列出全部目录中的内容
-h:配合-l以人性的方式显示文件大小
-l:以列表方式显示文件的详细信息
#3)文件类型(根据第一个字符判断)
-: 普通文件
d : 目录
l : 符号连接,至关于windows中的快捷方式
s : 套接字
p : 管道
b : 块设备
c : 字符设备
#4)用户的操做权限(2-10个字符)
其余人对文件的操做权限(8,9,10个字符)
文件全部者对文件的操做权限(2,3,4个字符)
文件所属组用户对文件的操做权限(5,6,7个字符)
#5)参数之间结合使用:
ls -la:列出当前目录下全部文件的相关信息,包括隐藏文件
ls-ltr:列出当前目录下的文件,按照时间逆向排序
#6)通配符
*:表示0个或多个字符
?:表示任一字符
[a-z]:表示a-zde任一字符,如果0-9表示任一数字字符
[abcd]:表示a|b|c|d任一字母

复制代码

4.cd 切换目录,命令使用方式:cd+路径

# 1)切换到家目录 
cd
cd ~
cd /home
cd $HOME
# 2)回到上次目录
cd -

复制代码

5.pwd:查看用户当前所处的工做目录

6.which:显示命令所在的目录

7.touch:若是文件存在,更新文件的最后修改时间,若是文件不存在,建立新文件(touch文件名)

8.mkdir:建立文件夹(mkdir -p aa/bb/cc 建立多级目录)

9.rmdir:只能删除空文件夹

10.rm:删除文件

-r 删除目录名 
-i 提示用户是否删除文件或目录
-f强制删除()以此删除的文件或目录不会放入回收站中,数据不易恢复

复制代码

11.cp源目录或文件 目录或文件(如有目录拷贝须要用-r 参数; 用-a参数,能够保留被拷贝文件的一些属性信息 )

cp  要拷贝的文件(file1) file(不存在);   建立file, 将file1中的内容拷贝到file
cp file1 file(存在); file1 覆盖 file
cp file dir(存在);拷贝file 到 dir 目录
cp - r dir(存在) dir1(存在); 将dir (包含)目录拷贝到dir1目录中
cp - r dir (存在) dir1(不存在); 建立dir1, 将dir (不包含)中的内容拷贝到dir1中

复制代码

12.mv更名或者移动文件(mv file1 file2)

#1).更名
mv file(存在) file1(不存在)
mv dir(存在) dir1(不存在)
mv file(存在) file2(存在):file文件覆盖file2文件,file 更名为file2
#2).移动
mv file(文件) dir(存在的目录):将file 文件移动到dir中
mv fir(目录存在) dir1(目录存在):将dir移动到dir1中,dir就会做为dir1的子目录而存在

复制代码

13.cat(查看):将文件内容一次性输出到终端,使用方式 cat 文件名,缺点:终端显示的内容有限,若是文件太长没法所有显示

14.more:将文件内容显示到终端,可是只能一直向下浏览,不能回退,使用方式 more 文件名

显示下一行:回车
显示下一页:空格
退出:q(ctrl+c)

复制代码

15.less :文件内容分页显示到终端,能够自由上下浏览。使用方式:less 文件名

显示下一行:回车、ctrl+p、键盘向下键
显示上一行:ctrl+n、键盘向上键
显示下一页:空格、PageDown
显示上一页:PageUp
退出:q

复制代码

16.head:从文件头部开始查看前n行的内容

#使用方式 若是没有指定行数,默认显示前10行
head -n[行数] 文件名

复制代码

17.tail:从文件尾部向上查看最后n行的内容

#使用方式 若是没有指定行数,默认显示最后10行内容
tail -n[行数] 文件名

复制代码

18.重定向

# 文件存在覆盖
ls -l > text.log 2>&1
# 文件存在,在末尾追加
ls -l >> test.log 2>&1

复制代码

19.管道:一个命令的输出能够经过管道做为另外一个管道的输入(参数)

20.软链接

1) ln -s 文件名 快捷方式的名字
2) 目录也能够建立软链接
3) 注意事项
       <1>ln建立软链接要用绝对路径,由于若是不使用绝对路径,一旦这个链接文件发生位置变更,就不能找到那个文件了
       <2>软链接文件的大小是:路径+文件名的总字节数

复制代码

21.硬链接

1)ln 文件名 硬链接的名字
2)本质:不一样文件名所在的inode节点是相同的,相同的inode节点指向了相同的数据块,因此他们的文件内容是同样的,文件内容会同步
3)注意事项
        <1>不能建在目录上
        <2>对绝对路径没有要求
        <3>不能跨文件系统
4)应用场景
        <1>能够起到同步的做用(修改file的内容,会在其他三个硬链接文件上同步)
        <2>能够起到保护文件的做用(删除文件的时候,只要硬链接计数比不为0,不会真正删除)

复制代码

22.wc:显示文件行数,字节,单词数

1) wc -l file 显示文件的总行数
2) wc -c file 显示文件的总字节数
3) wc -w file 显示文件的总单词数
4) wc file 显示文件的总行数,单词数和总字节数 

复制代码

23.whoami:显示当前登陆的用户名

24.who:查看当前全部登陆系统的用户信息

25.shutdown | reboot | init

reboot:重启系统
shutdown -r now:重启系统,shotdown会给别的用户提示
shutdown -h now:马上关机
shutdown -h 15:30:系统在今天的15:30会关机
shutdown -h + 10:再过十分后自动关机
init 0: 关机

复制代码

26.exit:退出当前登陆的终端或者远程终端或者 su 切换的用户

27.passwd:修改用户密码

28.sudo临时得到root权限(sudo 命令--会提示用户输入当前用户的密码)

29.ssh

ssh要登陆的用户名@ip, 而后提示输入密码

复制代码

30. ftp

ftp ip,而后提示输入用户名和密码,而后就登陆到了远程服务器上,get是下载, put是上传文件
        例:ftp localhost-->密码--->pwd-->cd day02-->get a03.txt  (下载)
        例:ftp localhost-->密码--->pwd-->cd day02-->put 23.txt  (上传)  

复制代码

31.scp:远程拷贝文件,若拷贝目录须要 -r 参数

1) scp -r mytest@ip:/home/mytest/.... 本地目录
        例: scp python@localhost:/home/python/day02/a03.txt ./
2) scp -r filename 远程机器用户@ip:路径
          例:scp 23.txt python@localhost:/home/python/day02/

复制代码

二.用户权限、用户、用户组

1.chmod 修改文件权限

1) 文字设定法
命令:chmod [who] [+|-|=] [mode] 文件名
操做对象【who】
            u -- 用户(user)
            g -- 同组用户(group)
            o -- 其余用户(other)
            a -- 所用用户(all)【默认】
操做符【+-=】
            + -- 添加权限
            - -- 取消权限
            = -- 赋予给定权限并取消其余权限
权限【mode】
            r -- 读
            w -- 写
            x -- 执行
2)数字设定法
命令:chmod [+|-|=][mode] 文件名
操做符【+-=】
            + -- 添加权限
            - -- 取消权限
            = -- 赋予给定权限并取消其余权限 (默认为=)
数字表示的含义
            0 -- 没有权限(-)
            1 -- 执行权限(x)
            2 -- 写权限(w)
            4 -- 读权限(r)

复制代码

2.chown :修改文件全部者和所属组

1) 修改文件全部者用法:chown 文件全部者 文件名
        sudo chown mytest file.txt
2) 修改文件全部者和所属组用法:chown 文件全部者:文件所属组 文件名
         sudo chown mytest:mytest file.txt

复制代码

3.chgrp:修改文件所属组

使用方法:chgrp 用户组 文件或目录
        sudo chgrp mytest file.txt

复制代码

4.find

1)按文件名查询 -name
            find 路径 -name "文件名"
2)按文件类型查询 -type
            find 路径 -type 类型(普通类型用f表示而不是 -)
3) 按文件大小查询 -size
        命令:find  路径  -size  范围
            范围
                    大于:+表示 --  +100k
                    小于:-表示  --  -100k
                    等于: 不须要添加符号 --  100k
            大小
                    M 必须大写(10M)
                    k 必须小写(20k)
                    c 表示字节数
4)按文件日期
        建立日期:-ctime -n/+ n
                -n: n天之内
                +n: n天之外
        修改日期:-mtime -n/+n
        访问日期:-atime -n/+n
5) 高级查询
        find ./ -type d -exec shell命令 {} \;
                 find ./ -type d -exec ls -l {} \;
        find ./ -type d -ok shell命令 {} \;
                find ./ -type d -exec ls -l {} \;
        find ./ -type d -ok shell命令 {} \;
                find ./ -type d -ok ls -l {} \;
                        ok比较安全, 特别是在执行rm删除文件的时候.
        find ./ -type d | xargs shell命令
                find ./ -type d | xargs ls -l

复制代码

5. grep

l    grep -r(有目录) “查找的内容” 搜索的路径
                -r参数, 如果目录, 则能够递归搜索
                -n参数能够显示该查找内容所在的行号
                -i参数能够忽略大小写进行查找
                -v参数不显示含有某字符串
2    搜索当前目录下包含hello world字符串的文件
                grep -r -n "hello world" ./    ------显示行号
                grep -r -i -n "HELLO world" ./  -------忽略大小小查找
3    先使用find命令查找文件, 而后使用grep命令查找哪些文件包含某个字符串
                find . -name "*.c" | xargs grep -n "main" 
              
复制代码

6.压缩工具

l    gzip和bzip2
         不能压缩目录,只能一个一个文件进行压缩,压缩以后会使原文件消失
             gzip *    压缩当前目录下全部的文件, 可是目录不能压缩
             gunzip *  解压当前目录下全部的.gz文件
             bzip2 *  压缩当前目录下全部的文件, 可是目录不能压缩
             bunzip2 * 解压当前目录下全部的. bz2文件
2    tar工具(*****)
         相关参数说明
             z:用gzip来压缩/解压缩文件
             j:用bzip2来压缩/解压缩文件
             c:create, 建立新的压缩文件, 与x互斥使用
             x:从压缩文件中释放文件, 与c互斥使用
             v:详细报告tar处理的文件信息
             f:指定压缩文件的名字
             t: 查看压缩包中有哪些文件
3    压缩:
         tar cvf 压缩包名字.tar 原材料[要打包压缩的文件或目录]
         tar zcvf 压缩包名字.tar.gz 原材料[要打包压缩的文件或目录]
         tar jcvf 压缩包名字.tar.bz2 原材料[要打包压缩的文件或目录]
4    解压缩:
         tar  xvf  已有的压缩包(test.tar.gz)tar
         tar  zxvf  已有的压缩包(test.tar.gz)
         tar  jxvf  已有的压缩包(test.tar.bz2)
         解压到指定目录:添加参数 -C(大写)
             tar zxvf test.tar.gz -C 解压目录(./mytest)
5    查看压缩包中有哪些文件
         tar -tvf test.tar        
6    zip工具
         压缩:zip -r 压缩包名 要压缩的文件(含文件或目录)
             压缩目录须要使用参数-r
             使用该命令不须要指定压缩包后缀
            zip -r xxx file dir ---生成xxx.zip文件
         解压缩:unzip压缩包名
             解压缩到指定目录:添加参数 –d 解压目录
                 unzip xxx.zip -d /home/itcast/test/day1
            注意:解压目录若不存在则会建立.

复制代码

7.软件的安装卸载

1.在线安装
         软件安装:sudo apt-get install 软件名
         软件卸载:sudo apt-get remove 软件名
         更新软件列表:sudo apt-get update
         清理安装包:sudo apt-get clean
             清理的是缓存路径:/var/cache/apt/archives
2 软件包安装
         在Ubuntu系统下必须有deb格式的安装包
         软件安装
             sudo dpkg -i xxx.deb
         软件卸载
             sudo dpkg –r 软件名

复制代码

8.vim

1). 三种基本工做模式:命令模式、文本输入模式、末行模式node

2). 命令模式:用户按下ESC键, 就可使vi进入命令模式下python

  • 保存退出
快捷键 操做
ZZ 保存退出
  • 代码格式化
快捷键 操做
gg=G 代码格式化
  • 光标移动
快捷键 操做
h 光标左移
j 光标下移
k 光标上移
l 光标右移
M 移动光标到中间行
gg 光标移动到文件开头
G/L 光标移动到文件末尾的行首
O 光标移到行首
$ 光标移到行尾
nG 行跳转,例12G,跳到12行处
  • 删除命令
快捷键 操做
x 删除光标后一个字符,至关于Del
X 删除光标前一个字符,至关于Backspace
dw 删除光标开始位置的字,包含光标所在字符
D[d$] 删除光标后本行全部内容,包含光标所在字符
dd 删除光标所在行(本质实际上是剪切)
ndd 从光标当前行向下删除指定的行数,如15dd
v/ctrl+v 使用h、j、k、l移动选择内容,而后按d删除其中ctrl+v是列模式,v为非列模式
  • 撤销和反撤销命令
快捷键 操做
u 一步一步撤销,至关于word文档ctrl+z
ctrl-r 反撤销,至关于word文档的ctrl+y
  • 复制粘贴
快捷键 操做
yy 复制当前行
nyy 复制n行,如10yy
p 在光标所在位置向下新开辟一行,粘贴
P 在光标所在位置向上新开辟一行,粘贴
剪切操做 按dd或者ndd删除,将删除的行保存到剪贴板中,而后按p/P就能够粘贴了
  • 可视模式
快捷键 操做
v/ctrl+v 使用h、j、k、l移动选择内容;使用d删除 使用y赋值 使用p粘贴到光标的后面 使用P粘贴到光标的前面
  • 替换操做
快捷键 操做
r 替换当前字符
R 替换当前行光标后的字符
  • 文本移动
快捷键 操做
>> 文本行右移
<< 文本行左移动
  • 查找命令
快捷键 操做
/ /xxxx, 从光标所在位置开始搜索,按n向下搜索,按N向上搜索
?xxxx, 从光标所在的到位置开始搜索,按n向上搜索,按N向下搜索

3). 文本输入模式:从命令模式切换到文本输入模式模式只需输入以下命令:linux

快捷键 操做
i 在光标前插入
a 在光标后插入
I 在光标所在行的行首插入
A 在光标所在行的行尾插入
o 在光标所在的行的下面新建立一行,行首插入
O 在光标所在的行的上面新建立一行,行首插入
s 删除光标后边的字符,从光标当前位置插入
S 删除光标所在当前行,从行首插入
按列模式插入 先按ctrl+v进入列模式,按hjkl移动选定某列,按I或者shift+i 向前插入,而后插入字符,最后按两次esc

4). 末行模式:从命令模式切换的末行模式,输入冒号(:)shell

  • 保存退出
快捷键 操做
q 退出
q! 强制退出,不保存修改内容
w 保存修改内容,不退出
wq 保存并退出
x 至关与wq
  • 替换操做

下面表格中old表示原字符串,new表示新字符串vim

快捷键 操做
:s/old/new/ 光标所在行的第一个old替换为new
:s/old/new/g 光标所在行的全部old替换为new
:m, ns/old/new/g 将第m行至第n行之间的old所有替换成new
:%s/old/new/g 当前文件的全部old替换为new
:1, $s/old/new/g 当前文件爱你的全部old替换为new
:%s/old/new/gc 同上,可是每次替换须要用户确认
  • 快速翻屏
快捷键 操做
ctr+u 向上翻半屏
ctrl+d 向下翻半屏
ctrl+f 向上翻一屏
ctrl+b 向后翻一屏

5). 分屏:在末行模式下执行shell命令,!shell命令 按下两次esc能够回到命令模式;从末行模式切换回命令模式,按两次ESC,退格(backspace)或者回车键 * 在打开文件以后分屏windows

快捷键 操做
sp 当前文件水平分屏
vsp 当前文件垂直分屏
sp 文件名 当前文件和另外一个文件水平分屏
vsp 文件名 当前文件和另外一个文件垂直分屏
ctrl-w-w 在多个窗口切换光标
wall/wqall/xall/qall/qall! 保存/保存退出/保存退出/退出/强制退出分屏窗口
  • 在打开文件以前分屏:
分屏: vim -on file1 file2...
垂直分屏: vim -On file1 file2 ...
注意 : n能够省略,有几个文件就分即屏

复制代码

6).vim的配置文件缓存

用户级别配置文件
    ~/.vimrc, 修改用户级别的配置文件只会影响当前用户, 不会影响其余的用户.
    例如: 在用户的家目录下的.vimrc文件中添加
        set tabstop=4  ----设置缩进4个空格
        set nu        ----设置行号
        set shiftwidth=4  ---设置gg=G缩进4个空格, 默认是缩进8个空格
系统级别配置文件
    /etc/vim/vimrc, 修改了系统级别的配置文件将影响系统下的全部用户.
    说明: 因为linux是多用户操做系统, 建议只在用户级别的配置文件下进行修改, 不要影响其余用户.

复制代码
相关文章
相关标签/搜索