简单命令Linux

  • ls 列出当前文件目录下的文件(只显示文件名)
  • pwd 显示当前操作的路径
  • cd 跳转路径
  • ls -a 可以把隐藏的文件显示出来 ,另外,创建隐藏文件的命令是 touch.123.txt 就是在文件名字前加了一个“点”
  • ls -h可以显示所创文件的大小,会进行一个自动的统计
  • ls -l以链表的形式显示文件信息,一行输出,其实是详细了
  • ls -a -l -h综合上面是三种方式,以链表的形式输出
  • ls -alhls -a -l -h 的作用是一样的
  • clear是清空屏幕
  • touch创建一个文件
  • mkdir创建一个文件夹
  • rm删除文件或一个文件夹,值得注意的是,在删除文件夹的时候,要写rm 文件夹名 -r。其中-r的意思是递归。不管文件夹是不是为空都会删除!!
  • rmdir删除文件夹(文件夹是空才能删除)
  • rm / -rf从根目录开始删除(万恶的命令啊~~~)
  • gedit使用linux默认编辑器对文件进行编辑
  • cat 可以查看文件的全部内容(不能编辑)还可以同时查看两个文件或多个文件的内容,例如:
cat 1.txt 2.txt

而且cat可以和 重定向>>>连用,例如:

cat 1.txt 2.txt > xxx.txt

这样的话就能实现吧1.txt 和2.txt 的内容 写到新建的xxx.txt 的文件中去。也就是实现了文件的合并

  • more可以查看文件的内容(以百分比显示),如果想要继续查看下面的内容,则可以按下fb键进行翻页查看。

几个简单的快捷键

  • Tab 键可以自动补全
  • b 可以往回走(翻屏)
  • f 可以向下走(翻屏)
  • q如果没有显示'命令'时,就要按q键进行退出操作
  • ctrl + shift + t在同一个终端中新建一个标签
  • alt + 1切换到第一个标签的终端,依次类推
  • 上箭头下箭头就可以找到上一个或者下一个命令,这样就可以实现对于命令的快速使用,而不需要再重新写命令。

帮助文档查看

  • 命令的名字 + --help 可以显示这个命令的帮助信息,或者是用man + 命令的名字也可以达到相同的效果,举个栗子:我们要查看ls的用法,就可以使用下面的两种方法来实现:

    ls --helpman ls

通配符的使用

  • 通配符 *:可以代替多位(0-n)字符,进行模糊查询操作,例如 在目录下有文件 123.txt 234.txt 245.txt 134.txt ls 2* 执行这个命令之后就会筛选出来文件 234.txt 245.txt ,也就是说把以2开头的文件进行筛选。
  • 通配符 ?:可以代替一位字符,进行模糊查询操作,例如:在目录下有文件 23.txt 234.txt 执行ls 2?命令,则只会显示23.txt。同理如果执行ls 2??,则此时显示234.txt。
  • 通配符 []可以指定模糊查询的范围。例如

    在目录下游文件 123.txt,456,txt,213.txt,143.txt 执行 ls 1[23]3则此时只会显示123.txt []这个通配符 只占一位 。当然[]里面也可以写[1-4]则这时表示 中括号中的值可以在1,2,3,4 中选,只要存在一个,就可以。

重定向

对于重定向而言,主要是是用到>>>这两个符号。下面举个例子:假如我们已经在目录下创建好了 ers.txt sda.txt 123.txt 三个文件了

ls
ers.txt sda.txt 123.txt
ls > xxx.txt
ls
ers.txt sda.txt 123.txt xxx.txt
gedit xxx.txt
-----------------------------------
下面是xxx.txt 显示的内容
-----------------------------------
ers.txt sda.txt 123.txt xxx.txt

通过上面的代码,可以得出关于重定向的几个小作用

1.当重定向文件是,会自动创建一个文件 在本例中 自动生成了 xxx.txt文件。

2.重定向会把刚刚显示的信息(包括生成的xxx.txt ) 到 刚刚自动生成的 “重定向文件中去”。在本例中 通过 gedit 命令可以看到 ers.txt sda.txt 123.txt xxx.txt这样的结果。

ls -alh >> xxx.txt
ls
ers.txt sda.txt 123.txt xxx.txt
gedit xxx.txt
-----------------------------------
下面是xxx.txt 显示的内容
-----------------------------------
ers.txt sda.txt 123.txt xxx.txt
xxx.txt
{此处是ls -alh 所显示的信息}

通过上面的一段代码,可以知道>>可以追加并写入,但是如果只有> 的话,会把原来的删除,只写最新的ls

ls 和 cd 的补充、相对路径和绝对路径

  • 一行一般只写一个命令,如果非要写很多命令的话,记得要用 ;把两个命令进行分开。
  • |这个符号类似于“管道”的概念,例如:ls -alh | more这样就可以实现分屏显示要显示的内容了。
  • 对于相对路径和绝对路径的基本解释就不多做解释了。在Linux中 .\A这个命令表示在当前目录先的A的文件夹下的目录下。也就是说一个点可以表示的 绝对路径。而 ..则表示是返回上一层的路径 例如:在目录 \home\python\A 下,使用命令 cd .. 则执行的结果就是返回上一次的目录,也就是到了python 的目录下。当然了之有...。不存在三个或者是多个点。在本例要想返回到home 文件夹下,命令应该这样写:cd ..\..这样就到了home 的文件夹下面,当然了也可以用绝对路径。
  • cd -是快速返还上一次的路径,且只能执行一次。
  • cd ~是快速返回到家目录。在我的机子上 就是\home\yaojianlong\

mkdir 的补充

  • 如果以个命令我们写了部分,写错了,或者不想执行这个名命令了,我们可以写 Ctrl + C 就会跳转到下一行。我们就可以重新写命令了。
  • 对于多层次的文件夹的创建,可以使用cd 命令和mkdir创建,但是这样的话就比较麻烦了。可以用一个简单的方法进行创建。例如:要创建/A/B/C/D 要进行文件夹的嵌套创建,只需要使用如下命令:
mkdir /A/B/C/D -p

就完成了上述嵌套文件的创建。-p 命令执行之后,就会对与依赖文件先进行创建。

注意

1.ls -a -l -hls -l -a -h实现的效果是一样的,或者说这个是和顺序无关的,例如 ls -alhls -hal 实现的效果也是一样的;2.不要忘记了ls 和 -alh 之间的空格。

软链接,硬链接,grep,cp,mv

Linux 链接文件类似于Windows下的快捷方式。链接文件分为软链接硬链接

  • 软链接:软链接不占用磁盘空间,源文件删除则软链接失效。
  • 硬链接:硬链接只能链接普通文件,不能链接目录。

    使用格式:
ln 源文件 链接文件
ln -s 源文件 链接文件

如果 没有-s选项代表建立以个硬链接文件,两个文件占用相同大小的磁盘空间,即使删除了源文件,链接文件还是存在,所以-s 选项是更常见的形式。

注意:如果软连接和源文件不在同一个目录。源文件要使用绝对路径,不能使用相对路径。软链接相当于在windows系统下‘快捷方式’而硬链接在相当于是文件的另外一个名字,在linux下,可以看成是有多个名字的,对于新建的硬链接就相当于是文件的另外一个名字,如果说,这个文件只要是有一个'名字'存在的话,就可以真是的存在

  • grep 搜索:相当于搜索查找例如:
grep "ntsd" xxx.txt

上面的代码的意思就是在xxx.txt 文件中查找 含有ntsd这几个字母的字段。

如果在选项中加入 -n则表示的是 查找 字段并把该字段在文件中的位置(行号)显示出来。命令如下:

grep -n "ntsd" xxx.txt

如果在选项中加入 -v则表示的是 查找字段并把不包含该字段的其余字段显示,命令如下:(显示不包含该字段的信息)

grep -v "ntsd" xxx.txt

如果想要在文件中查找以 ntsd 字段开头的字段 命令如下:(显示不包含该字段的信息)

grep  "^ntsd" xxx.txt

如果想要在文件中查找以 ntsd 字段结尾的字段 命令如下:(显示不包含该字段的信息)

grep  "ntsd$" xxx.txt
  • mv重命名文件(或者文件夹)/移动(剪切并且粘贴)
mv 1.txt 111.txt//把1.txt 重命名为111.txt
mv 111.txt laowang/ //把111.txt 移动到laowang 文件夹中
  • cp 复制文件/文件夹(并且粘贴)
cp 2.txt A   //复制 2.txt 文件到 A 文件夹中
cp A laowang/ -r    //只要是文件夹不能操作,加一个-r 就可以了。
  • find 命令可以查找文件,和grep 不同的是,grep 是查找文件里面的内容。这一点一定不要搞混了。find 有name 和 size 选项,下面举个简单的例子来说明这个命令的用法。
find /tmp -name ts   //查找tmp目录下的 名字为 ts 的文件

find /tmp -name "*ts*"  //查找tmp目录下的文件名中含有 ts 的文件

find /tmp -size 2M  //查找tmp 目录下 文件大小为2M的文件

压缩和解压缩

  • tar -cvf test.tar *.py 打包,把所有的.py文件进行打包(大小不变,并没有压缩)

  • tar -xvf test.tar 解包

压缩格式(一)

  • tar -zcvd xxx.tar.gz *.py 压缩所有.py文件

  • tar -zxvd xxx.tar.gz解压.gz 压缩包

这种方法压缩的文件比较小哦

压缩格式(二)

  • tar -cvf yyy.tar.bz2 *.py 压缩包为.bz2 压缩格式

  • tar -jcvf yyy.tar.bz2 解压上面的包(不是面包哦)

这种方法压缩的文件比较大哦(虽然是废话,但是我还是要说~哼)

Linux 系统相关命令

  • cal (显示日历的,不要写成call,一天天的给xxx疯狂打call)

举个栗子:查看2018年的日历

cal -y 2018
  • date 查看当前的时间(很具体的哦)。date "+%Y年%m%d"在这个小的命令中呢,显示的结果是 2018年1月3日 也就是说,在date命令后加上了双引号了之后呢,就可以根据自己的格式来了,还有需要注意的一点就是,在这个小的命令中%Y%y显示的效果是不一样的,小y只是显示年份的最后两位,例如2018 如果用小y的话就只是显示“18”了哦。
  • ps -aux显示现在的所有进程
  • top 命令可以显示当前地电脑显示进程,但是没有全部显示出来
  • htop 显示进程(很详细,很牛x)
  • kill 例如:kill 9822 则把id为9822 的进程杀死,但是如果杀不死呢1就是不死呢!woc!竟然不死,不要紧,用 kill -9 9822 强制杀死,就这样,他挂掉了。这个id 可以用ps -aux 进行查看。
  • reboot 重新启动
  • shutdown -h now立刻关机;shutdown +10 10 min后关机;shutdown 20:2020:20准时关机
  • df用来查看系统总硬盘的使用情况
  • du用来查看当前路径的使用情况
  • ifconfig用来显示当前电脑上的网络信息和设置网络
  • pingping 加一个ip看接通情况。
  • sudo useradd root123 -m 创建一个新的用户(root 是自定的用户名),其中-m的意思是创建一个用户之后,同时在home 下创建一个和用户名称一样的目录文件夹
  • sudo userdel root123 删除名字为root123的用户
  • su root切换到root123用户中(此时还是在原来用户的目录下)。如果说su - root 切换到root用户下,并且同时切换到root123的家目录下。
  • sudo passwd root123 设置root123 用户的密码,或者更改用户的密码
  • whoami 查看登陆当前操作用户的名字并显示
  • who 查看所有登陆用户的名字并显示
  • exit 退出当前用户
  • ssh root@172.100.2.2 远程连接名称为root的用户(用户ip为172.100.2.2),window是没有这个命令的
  • sudo -s进入进入root超级管理员界面,需要注意的一点是,不要用su root这样你是进不去的(限于linux),不信你试试哈(你是不会知道密码的hahahah~)
  • sudo groupadd创建用户组
  • sudo delgroup删除用户组
  • cat /etc/passwd查看用户是否创建成功
  • cat /etc/group查看用户组是否创建成功
  • 添加sudo权限给普通用户给普通用户(xxxx)添加sudo权限。注意的一点是,在linux中,如果创建了一个新的用户组,默认的是没有sudo权限的,也就是说在新建的用户xxxx中是无法使用 sudo -s这个命令的。所以如果非要使用这个命令的话,就需要给他sudo权限。

下面的是完整的命令:

sudo usermod -a -G sudo xxxx

sudo usermod -a -G adm xxxx

  • chgrp xxxx 1.py更改当前用户组的 1.py 文件的 用户组权限为xxxx

  • chown xxxx 1.py更改当前用的 1.py 文件的用户权限为 xxxx

  • 修改文件权限(字母法,数字法)

举一个简单的小栗子吧~

现在有 1.py 2.py 3.py 三个文件,修改1.py 用户权限为 “可读可写可执行”则:

chmod u=rwx 1.py

执行结果:

-rwxrw-r-- 1 python python 0   1月    4  20:29 1.py*

从上面的例子中我们可以看出,-rwxrw-r-- 用户的权限已经改成了rwx;用户组的权限为rw-;其他用户的权限为r--。通过这个例子,同样的我们可以用chmon g=rwx chmod o=r等命令进行权限的更改。也可硬一次性的改多个属性,例如:

chmod u=rwx,g=r,o=wx 2.py    //可以用逗号进行分割

上面介绍的方法是字母法,现在来介绍数字法:

r 代表读(read),w 代表写(write),x 代表执行(execute)

读,权限是二进制的100,十进制是4;

写,权限是二进制的010,十进制是2;

执行,权限是二进制的001,十进制是1;

具备多个权限,就把相应的 4、2、1 相加就可以了:

若要 rwx 则 4+2+1=7

若要 rw- 则 4+2=6

若要 r-x 则 4+1=5

若要 r-- 则 =4

若要 -wx 则 2+1=3

若要 -w- 则 =2

若要 --x 则 =1

若要 --- 则 =0

也就是说,下面的代码是等价的:

chmod u=x,g=wx,o=rwx 2.py

chmod 137 2.py

常用vi命令

先不写啦

小结

小总结一下常用的Linux命令。

基础Linux命令总结的更多相关文章

  1. Linux 学习笔记之超详细基础linux命令(the end)

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 14---------------- ...

  2. Linux 学习笔记之超详细基础linux命令 Part 14

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 13---------------- ...

  3. Linux 学习笔记之超详细基础linux命令 Part 13

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 12---------------- ...

  4. Linux 学习笔记之超详细基础linux命令 Part 12

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 11---------------- ...

  5. Linux 学习笔记之超详细基础linux命令 Part 11

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 10---------------- ...

  6. Linux 学习笔记之超详细基础linux命令 Part 10

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 9----------------- ...

  7. Linux 学习笔记之超详细基础linux命令 Part 9

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 8----------------- ...

  8. Linux 学习笔记之超详细基础linux命令 Part 8

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 7----------------- ...

  9. Linux 学习笔记之超详细基础linux命令 Part 7

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 6----------------- ...

  10. Linux 学习笔记之超详细基础linux命令 Part 6

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 5----------------- ...

随机推荐

  1. 开源免费接口管理平台eoLinker AMS开源版 V3.2.0更新,增加批量导出导入接口功能!

    eoLinker是一个免费开源的针对开发人员需求而设计的接口管理工具,通过简单的操作来帮助开发者进行接口文档管理.接口自动化测试.团队协作.数据获取.安全防御监控等功能,降低企业的接口管理成本,提高项 ...

  2. ES6原生Promise的所有方法介绍(附一道应用场景题目)

    JS的ES6已经出来很久了,作为前端工程师如果对此还不熟悉有点说不过去.不过如果要问,Promise原生的api一共有哪几个?好像真的可以难倒一票人,包括我自己也忽略了其中一个不常用的API Prom ...

  3. 子查询。ANY三种用法。ALL两种用法。HAVING中使用子查询。SELECT中使用子查询。

    子查询存在的意义是解决多表查询带来的性能问题. 子查询返回单行多列: ANY三种用法: ALL两种用法: HAVING中的子查询返回单行单列: SELECT中使用子查询:(了解就好,避免使用这种方法! ...

  4. Paho - MQTT C Cient的实现

    来自我的CSDN博客   在前几天,我大致了解了一下Paho C项目,并对其的一些内容进行了翻译.俗话说,光说不练假把戏,今天就给大家讲一下使用Paho的客户端库文件实现MQTT C Client的过 ...

  5. HHVM源码剖析

    一.前言 hhvm源码中充满了很多C++11的新特性,并且使用了各种设计模式如工厂,模板方法等,利用智能指针包裹指针,让delete没有肆意的出现 模板,继承,explicit,纯虚函数的出现令代码中 ...

  6. 回顾2017系列篇(二):移动端APP设计趋势

    移动端APP在2017年经历了诸多的变化, 人工智能.聊天式的界面.响应式设计.虚拟现实(VR)和增强现实(AR)让设计师不断面临新的挑战.研究表明,用户每天耗费在手机和平板上的平均时长为158分钟, ...

  7. 6.Nginx作为负载均衡服务器应用

    案例:Nginx作为负载均衡服务器应用 nginx的负载均衡功能是通过upstream命令实现的,因此他的负载均衡机制比较简单,是一个基于内容和应用的7层交换负载均衡的实现.Nginx负载均衡默认对后 ...

  8. 视频云SDK iOS持续集成项目实践

    1. 前言 2016年, 我们维护的 iOS推流播放融合SDK KSYLive_iOS 在github上发布了40多个版本, 平均两周发布一个新版本, 经历了最初痛苦的全手动版本构建和维护, 到后来慢 ...

  9. Elasticsearch5.4常见问题总结

    最近项目中用到了Elasticsearch5.4(ES)是比较新的一个版本,使用的过程中出现了很多的问题,很是头疼,但是问题最终还是解决掉了. 问题一:ESClient获取慢,并且不能获取Client ...

  10. MySQL如何找到表与表之间的关系?

    如何找到两张表之间的关系? 先站在左表的角度上去找,如果可以找到左表的多个字段可以对应右表的一个字段,那么左表的一个字段foregin key右表的一个字段.一般情况下为id... 2.如果右表的多个 ...