Linux基础命令

会了基础足以混饭吃,学的多,忘的多,哈哈

1.ls和cd命令

1.1ls命令是一个非常有用的查看文件与目录的命令(List Directory Contents)

参数:

  • -l :列出长数据串,包含文件的属性与权限数据等
  • -a :列出全部的文件,连同隐藏文件(开头为.的文件)一起列出来(常用)
  • -d :仅列出目录本身,而不是列出目录的文件数据
  • -h :将文件容量以较易读的方式(GB,kB等)列出来
  • -R :连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来

1.2cd命令切换工作目录

cd .  ==>当前目录
cd .. ==>上一层目录
cd ~ ==>进入用户家目录,比如root用户就进入到/root,比如zzz用户,就进入到/home/zzz
cd / ==>返回到根目录

2.修改文件权限

2.1初识权限

首先执行以下命令,查看目录内的情况
[root@localhost ~]# ls -l

在这里插入图片描述

第一个字符,
-代表文件
d代表文件夹
l 代表:软连接文件(类似于windows下的快捷方式)

三个rwx分别代表三个组别的权限,解析如下:
第一个rwx:文件所有者(user)有读写运行权限;
第二个rwx:文件所有者同组(group)的其他人有读写运行权限;
第三个rwx:其他用户组用户(other)有读写运行权限;

从第二个字符起,每个字符代表一个权限
r 表示文件可以被读(Read) ------4
w 表示文件可以被写(Write) ------2
x 表示文件可以被执行(Execute) ------1

2.2修改权限

chmod 全称 change mode

[root@localhost ~]# chmod 777 /home/user 注:仅把/home/user目录的权限设置为rwxrwxrwx
[root@localhost ~]# chmod -R 777 /home/user 注:表示将整个/home/user目录与其中的文件和子目录的权限都设置为rwxrwxrwx
[root@localhost ~]# chmod 777 conkyrc.sample 注:单独修改某个文件权限

3.修改组别

chown 全称 change onwer

lifang这个文件夹 所属用户是root 用户组也是root
在这里插入图片描述
在这里插入图片描述

chgrp 全称 change group

在这里插入图片描述

4.查看日志

4.1tail

tail 命令用于显示指定文件末尾内容;

  • tail -f test.log ===>循环查看文件内容
  • tail -n 5 test.log ===>显示文件最后5行内容
  • tail -n +5 test.log ===>从第5行开始显示文件

4.2head

head 用来显示档案的开头至标准输出中

  • head -n 5 test.log ===>显示文件的前5行内容
  • head -n -5 test.log ===>查询日志文件除了最后5行的其他所有日志

4.3cat

cat命令的用途是连接文件或标准输入并打印。这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。

参数:

  • -n 或 --number 由 1 开始对所有输出的行数编号
  • -b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号
  • -s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
  • -v 或 --show-nonprinting

Demo:

  • $ cat filename ==>一次显示整个文件
  • $cat file1 file2 > file ==>将几个文件合并为一个文件
  • cat -n textfile1 > textfile2 ==> 把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里

1.把三个文件的内容连接起来,然后创建sir04.txt文件,并写入sir04.txt中。如果已经存在sir04.txt 文件,会把sir04.txt内容清空。

  • [root@localhost ~]# cat sir01.txt sir02.txt sir03.txt > sir04.txt

2.把一个或多个已存在的文件内容,追加到一个已存在的文件中

  • [root@localhost ~]# cat sir01.txt sir02.txt sir03.txt >> sir04.txt

4.4more

more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。more命令从前向后读取文件,因此在启动时就加载整个文件。

参数:

  • +n 从笫n行开始显示
  • +/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示

Demo1:显示

  • more +3 test.log ===>显示文件中从第3行起的内容
  • more +/day3 test.log ===>从文件中查找第一个出现"day3"字符串的行,并从该处前两行开始显示输出

Demo2:分页

  • ls -l | more -5 ===>每页显示5个文件信息,按 Ctrl+F 或者 空格键 将会显示下5条文件信息。

4.5less

less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。

less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。

Demo:

  • less test.log ===>查看文件
  • ps -ef | less ===>ps查看进程信息并通过less分页显示
  • less log2013.log log2014.log ===>浏览多个文件
  • 输入 :n后,切换到 log2014.log
  • 输入 :p 后,切换到log2013.log

Demo:全屏导航

  • ctrl + F - 向前移动一屏
  • ctrl + B - 向后移动一屏
  • ctrl + D - 向前移动半屏
  • ctrl + U - 向后移动半屏

4.6grep

grep 命令用于查找文件里符合条件的字符串。

菜鸟教程: grep参数及使用详解.

Demo:

  • grep test *file ===>查找后缀有 file 字样的文件中包含 test 字符串的文件,并打印出该字符串的行。
  • grep -r update /etc/acpi ===>以递归的方式查找符合条件的文件。
  • cat test.txt | grep ^u ===>找出已u开头的行内容
  • cat test.txt | grep hat$ ===>输出以hat结尾的行内容

5.编辑文本

所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。
vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。

三种模式:

  • 命令模式(Command mode)
    启动vim。就进入了命令模式 vim tomcat.conf
  • 插入模式(Insert mode)
    按下i,切换到输入模式,左下角状态栏中会出现 –INSERT- 的字样
    按Esc退出插入模式
  • 底线命令模式(Last line mode)
    按下:,切换到底线命令模式模式
    :w 将编辑的数据写入硬盘档案中(常用)
    :q 离开 vi (常用)
    :q! 若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。
    :wq 储存后离开,若为 :wq! 则为强制储存后离开 (常用)

插入模式

  • i ==>光标所在位置插入
  • I ==>光标所在行的行首插入
  • A ==>光标所在行行尾插入
  • a ==>光标所在字符的下个字符插入
  • s ==>删除光标所在字符插入
  • S ==>删除光标所在行插入
  • o ==>光标所在行的下一行插入
  • O ==>光标所在行的上一行插入

底线命令模式:字符替换(注意:下面语句:和s中间没有空格

  • : s/vivian/sky/ ==> 替换当前行第一个 vivian 为 sky(注意空格)
  • : s/vivian/sky/g ==>替换当前行所有 vivian 为 sky(注意空格)
  • :n,$s/vivian/sky/ ==>替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky
  • :n,$s/vivian/sky/g ==> 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky
  • :%s/vivian/sky/ ==>(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky
  • :%s/vivian/sky/g ==>(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky
  • : s#vivian/#sky/# ==> 替换当前行第一个 vivian/ 为 sky/(注意空格)

底线命令模式:搜索

  • /word ==>向光标之下寻找一个名称为 word 的字符串。
  • ?word ==>向光标之上寻找一个字符串名称为 word 的字符串
  • n ==>代表重复前一个搜寻的动作,执行 /word再按下 n 后,会向下继续搜寻下一个名称为word 的字符串
  • N ==>与 n 刚好相反,为『反向』进行前一个搜寻动作

6.创建软链

创建硬链接(hard link):文件的基本信息都存储在 inode 中,而硬链接指的就是给一个文件的 inode 分配多个文件名,通过任何一个文件名,都可以找到此文件的 inode,从而读取该文件的数据信息。
硬链接可认为是一个文件拥有两个文件名

[root@localhost ~]# touch cangls
[root@localhost ~]# ln /root/cangls /tmp
#建立硬链接文件,目标文件没有写文件名,会和原名一致
#也就是/tmp/cangls 是硬链接文件

创建软链接(symbolic link):类似于 Windows 系统中给文件创建快捷方式

[root@localhost ~]# touch bols
[root@localhost ~]# In -s /root/bols /tmp
#建立软链接文件     注:软链接文件的源文件必须写成绝对路径,而不能写成相对路径

删除链接

[root@localhost ~]# rm -rf symbolic_name

7.查看文件大小

df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。
du可以查看文件及文件夹的大小

[yayug@yayu ~]$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             3.9G  300M  3.4G   8% /
/dev/sda7             100G  188M   95G   1% /data0
/dev/sdb1             133G   80G   47G  64% /data1
/dev/sda6             7.8G  218M  7.2G   3% /var
/dev/sda5             7.8G  166M  7.2G   3% /tmp
/dev/sda3             9.7G  2.5G  6.8G  27% /usr
tmpfs                 2.0G     0  2.0G   0% /dev/shm

du命令可以循环列出所有文件和文件夹所使用的空间。所以得指定深入目录的层数,参数:–max-depth=

[root@bsso yayu]# du -h --max-depth=1 work/testing/*
8.0K    work/testing/func.php
27M     work/testing/logs
8.1M    work/testing/nohup.out
8.0K    work/testing/testing_c.php
12K     work/testing/testing_func_reg.php
8.0K    work/testing/testing_get.php
8.0K    work/testing/testing_g.php
8.0K    work/testing/var.php

8.查看服务是否启动

Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。

参数:

  • -a (all)显示所有选项,netstat默认不显示LISTEN相关
  • -t (tcp)仅显示tcp相关选项
  • -u (udp)仅显示udp相关选项
  • -n 拒绝显示别名,能显示数字的全部转化成数字。(重要)
  • -l 仅列出有在 Listen (监听) 的服務状态
  • -p 显示建立相关链接的程序名(macOS中表示协议 -p protocol)
  • -r 显示路由信息,路由表
  • -e 显示扩展信息,例如uid等
  • -s 按各个协议进行统计 (重要)
  • -c 每隔一个固定时间,执行该netstat命令。

Demo:列出所有端口 (包括监听和未监听的)

  • netstat -a ==> 列出所有端口
  • netstat -at ==> 列出所有tcp端口
  • netstat -au ==> 列出所有udp端口

Demo:列出所有处于监听状态的 Sockets

  • netstat -l ==> 只显示监听端口
  • netstat -lt ==> 只列出所有监听tcp端口
  • netstat -lu ==> 只列出所有监听udp端口
  • netstat -lx ==> 只列出所有监听UNIX端口
Task1:找出运行在指定端口的进程
[root@centos6 ~]# netstat -an | grep ':22'
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN
tcp        0      0 10.0.2.15:22                10.0.2.2:52964              ESTABLISHED
tcp        0      0 10.0.2.15:22                10.0.2.2:52091              ESTABLISHED
tcp        0      0 :::22                       :::*                        LISTEN

9.杀死进程

Task1:找出运行在指定端口的进程
[root@centos6 ~]# netstat -ano | findstr "8080"

//杀死进程
[root@centos6 ~]# taskkill | findstr "14608"
[root@centos6 ~]# taskkill -PID 14608 -F

在这里插入图片描述

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

百世经纶『一页書』

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值