Linux tips

linux全套详细教程

常用命令:

1. 给文件夹或者文件增加可执行权限

chmod +x 文件名

给所有人添加可执行权限:chmod a+x 文件名;

给文件所有者添加可执行权限:chmod u+x 文件名;

给所在组添加可执行权限:chmod g+x 文件名;

给所在组以外的人添加可执行权限:chmod o+x 文件名

2. 强制退出当前执行命令

退出正在执行的操作 Ctrl+z   

3. cd: 切换目录

进入系统根目录:cd /

进入当前目录:cd .

返回上层目录:cd ..

进入指定目录:cd /tmp

进入当前用户的家目录:cd ~

4. ls:列出当前目录的所有文件、文件夹(目录)信息

-l 列出目录或者文件的详细信息。比如权限、修改时间等等; 

-a 列出当前目录下所有文件,包括隐藏文件(已点开头的都是隐藏文件);

-A 列出除.和..之外的所有文件; 

-h 列出文件的大小; 

显示指定目录/tmp的内容:ls /tmp

列出文件和文件夹的基本属性和详细信息:ls -l

列出当前目录的全部内容:ls  -a

列出ls命令的帮助内容:ls -help

列出以coco开头的文件和文件夹:ls coco*

列出文件和文件夹的基本属性和详细信息:ll

5. 列出当前目录的路径

列出当前目录的路径:pwd

6. 确认当前登录用户的身份

显示当前用户:whoami

显示当前系统登陆用户以及所登陆的控制台:who

7. 复制文件或目录

-a 相当于-pdr  

-f 强制复制,不提示 

复制xxxx文件到/tmp目录下:cp xxxx /tmp

复制 /xxxx/xxxx文件到/home目录下:cp /xxxx/xxxx /home

复制/xxxx/xxxx到/tmp目录下并改名为coco:cp /xxxx/xxxx /tmp/coco

复制/xxxx/xxxx到/home目录下并复制文件属性 cp -p /xxxx/xxxx /home

8. 移动文件或目录

-f 表示强制移动,不提示

移动xxxxx.txt到home目录里:mv xxxx.txt  /home

9. 在文件中查找关键词

-v 排除内容  

-E 可以同时实现两条命令的使用,当然也要加|  

--color=auto 对过滤的字符串加颜色  

-i 不区分大小写  

-w 按单词搜索  

-B 除了显示匹配的一行之外,并显示该行之前的 N 行  

-A 除了显示匹配的一行之外,并显示该行之后的 N 行  

-C 除了显示匹配的一行之外,并显示该行之前后各 N 行   

-o 只显示匹配到的内容  

-n 显示行号
 在/xxxx/xxxx文件中查找关键字“aaa”:grep "aaa" /xxxx/xxxx

10. 下载/上传文件

tar -cvf script.tar script(先打包)
sz script.tar (发包)

sz:将选定的文件发送(send)到本地机器
rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到服务

[root@linux ~]# tar [-cxtzjvfpPN]文件与目录....

参数:

-c:建立一个压缩文件的参数指令(create的意思);

-x:解开一个压缩文件的参数指令!

-t:查看tarfile里面的文件!

特别注意,在参数的下达中,c/x/t仅能存在一个!不可同时存在!

因为不可能同时压缩与解压缩。

-z:是否同时具有gzip的属性?亦即是否需要用gzip压缩?

-j:是否同时具有bzip2的属性?亦即是否需要用bzip2压缩?

-v:压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!

-f:使用档名,请留意,在f之后要立即接档名喔!不要再加参数!

   例如使用『tar -zcvfP tfile sfile』就是错误的写法,要写成

   『tar -zcvPf tfile sfile』才对喔!

-p:使用原文件的原来属性(属性不会依据使用者而变)

-P:可以使用绝对路径来压缩!

-N:比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中!

--exclude FILE:在压缩的过程中,不要将FILE打包!

范例一:将整个/etc目录下的文件全部打包成为/tmp/etc.tar

[root@linux ~]# tar -cvf /tmp/etc.tar /etc <==仅打包,不压缩!

[root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc <==打包后,以gzip压缩

[root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc <==打包后,以bzip2压缩

11. 查看或者链接文本文件

使用权限:所有用户(即root帐号和所有普通帐号)
使用方法:cat [参数] 文件名

参数说明: 
-A:--show-all 等价于 -vET
-b:--number-nonblank 对非空输出行编号,即在每行前显示所在行号
-e:等价于 -vE
-E: --show-ends 在每行结束处显示 $
-n:--number 对输出的所有行编号,即在每行前显示所在行号
-s:--squeeze-blank 不输出多行空行
-t:与 -vT 等价
-T:--show-tabs 将跳 字符显示为 ^I
-u :(被忽略)
-v: --show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外
--help 显示此帮助信息并离开

12. 创建空文件

语法:touch  

# touch file{1..5}

# ls

file1 file2 file3 file4 file5

13. 删除目录

rmdir dirName

删除空目录

rmdir [-p] dirName

-p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除。

rm -rf dirName/

表示强制删除不提示,即使该文件受写保护

find . -type d -name "MyDocuments" -exec rm -rf {} +

Find命令帮助用户根据特定的表达式搜索文件和目录。此外,该命令可用于搜索目录并根据指定的搜索标准删除它们。

  • . 表示在当前目录执行
  • -type d 只搜索目录
  • -name 指定目录名称
  • -exec rm -rf 执行rm命令删除所有目录即内容
  • {} + 追加在rm命令末尾

find . -type d -empty -delete

只删除空目录

  • -empty 只对空目录进行限制
  • -delete 删除包括子目录在内的所有空目录

14. nohup后台运行命令

  • nohup yourcommand &

yourcommand:启动对象命令。可以跟该命令需要的各种参数。
&是指在后台运行,但当用户推出(挂起)的时候,命令自动也跟着退出. nohup与&结合起来,可以实现不挂断的后台运行

  • nohup yourcommand 2>&1 &

实现后台运行的程序中屏幕输出记录到日志文件,在上面的例子中,0 – stdin (standard input),1 – stdout (standard output),2 – stderr (standard error) ;2>&1是将标准错误(2)重定向到标准输出(&1),标准输出(&1)再被重定向输入到日志文件中。

  • nohup yourcommand > myout.log 2>&1 &

将日志输出到指定文件,">"大于符号表示重定向输出到一个新设备/文件,“>>”表示追加输出到某个文件。

  • nohup yourcommand > /dev/null 2>&1 &

忽略屏幕输出, /dev/null代表linux的空设备文件,所有往这个文件里面写入的内容都会丢弃。由于有 2>&1, 错误输出2重定向到标准输出1,这样错误输出也会丢失。

  • tail -f myout.log 

tail -f 等同于–follow=descriptor,根据文件描述符进行追踪,当文件改名或被删除,追踪停止
tail -F 等同于–follow=name --retry,根据文件名进行追踪,并保持重试,即该文件被删除或改名后,如果再次创建相同的文件名,会继续追踪
tail -n num 从最后的num行开始跟踪。num默认值是10,如果觉得太少,加上这个参数。
tailf 等同于tail -f -n 10(貌似tail -f或-F默认也是打印最后10行,然后追踪文件),与tail -f不同的是,如果文件不增长,它不会去访问磁盘文件,所以tailf特别适合那些便携机上跟踪日志文件,因为它减少了磁盘访问,可以省电。

  • ps -ef|grep yourcommand

监测文件是否在正常运行,-ef 参数显示所有命令,连带启动时的命令行参数

  • 查找进程号,杀死进程

ps ax | grep xxx.py(查找进程号)

kill -9 进程号(杀死进程)

15.vim文本编辑基础操作

vim filename(编辑文件)

vim的模式切换和基本常用命令总结

vim常用命令总结

常见errors:

1.Failed to allocate directory watch: Too many open files

解决方法:

可能是 inotify 数量限制了,修改后服务可以正常启动

打开以下配置文件,加入两行命令

vim /etc/sysctl.conf
fs.inotify.max_user_instances=512
fs.inotify.max_user_watches=262144

保存文件后,使用生效指令

sysctl -p

inotify:它是一个内核用于通知用户空间程序文件系统变化的机制。

查看inotify数量

sysctl fs.inotify

Linux 桌面系统与 MAC 或 Windows 相比有许多不如人意的地方,为了改善这种状况,开源社区提出用户态需要内核提供一些机制,以便用户态能够及时地得知内核或底层硬件设备发生了什么,从而能够更好地管理设备,给用户提供更好的服务,如 hotplug、udev 和 inotify 就是这种需求催生的。Hotplug 是一种内核向用户态应用通报关于热插拔设备一些事件发生的机制,桌面系统能够利用它对设备进行有效的管理,udev 动态地维护 /dev 下的设备文件,inotify 是一种文件系统的变化通知机制,如文件增加、删除等事件可以立刻让用户态得知,该机制是著名的桌面搜索引擎项目 beagle 引入的,并在 Gamin 等项目中被应用。

安装工具tips:

1. Linux环境(服务器)下非root用户安装Python3.6​​​​​​​

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值