linux常用命令汇总(不断更新)

总结一些自己常用的linux命令,以防忘记找着省点时间;

PATH环境变量以及常⽤快捷键

  • echo $PATH查看当前环境变量
  • export PATH=$PATH:/home/ubuntu/ 临时设置环境变量,当前会话有效
  • ~/.bashrc⽂件最末添加命令设置环境变量,然后重启shell,或者source ~/.bashrc,永久有效
  • tab可以补全命令
  • whereis 查找命令所在⽬录

⽤户与⽤户组

  • Linux⽤户分三⼤类:root⽤户/虚拟⽤户/普通⽤户
  • 添加⽤户时候,系统会⾃动在/etc/passwd⽂件添加⼀⾏⽤户记录
  • 在/home⽬录下创建新⽤户⽬录:sudo useradd -d /home/xxx -m xxx ,sudo passwd xxx ,sudo userdel -r xxx ,whoami/groups
  • 每个⽤户都有⼀个⽤户组,系统可以对⼀个⽤户组中的所有⽤户进⾏ 集中管理。不同Linux系统对⽤户组的规定有所不同,如Linux下的⽤ 户属于与它同名的⽤户组,这个⽤户组在创建⽤户时同时创建。
  • ⽤户组的管理涉及⽤户组的添加groupadd、删除groupdel和修改 groupmod。组的增加、删除和修改实际上就是对/etc/group⽂件的更 新。
  • 与⽤户和⽤户组相关的信息都存放在⼀些系统⽂件中,这些⽂件包括/ etc/passwd, /etc/shadow, /etc/group等
  • 每个⽤户都在/etc/passwd⽂件中有⼀个对应的记录⾏——⽤户名:⼝ 令:⽤户标识号:组标识号:注释性描述:主⽬录:登录Shell
  • 加密后的⽤户⼝令字存放到/etc/shadow⽂件
  • “组标识号”字段记录的是⽤户所属的⽤户组,对应着/etc/group⽂件中 的⼀条记录。

⽂件属性与权限操作

  • $ ls -l:-rwxr-xr-x 1 ubuntu ubuntu 430540 Dec 23 18:27 example.file对应:⽂件的类型和权限、硬链接个数、User、Group、⽂件⼤⼩、⽇期、 ⽂件名
  • chown username filename修改user名
  • chgrp groupname filename
  • chown username.groupname filename
  • chown 和 chgrp 都有⼀个 -R 选项,该选项可以⽤来告诉它们递归地 将所属权和组改变应⽤到整个⽬录树中:chown -R ubuntu /home/ubuntu
  • Linux的权限只有rwx三种:r(Read,读取):对⽂件⽽⾔,具有读取⽂件内容的权限;对⽬录来说,具有浏览⽬录的权限;w(Write,写⼊):对⽂件⽽⾔,具有新增,修改,删除⽂件内容的权限;对⽬录来说,具有新建,删 除,修改,移动⽬录内⽂件的权限;x(eXecute,执⾏):对⽂件⽽⾔,具有执⾏⽂件的权限;对⽬录了来说该⽤户具有进⼊⽬录的 权限。
  • ⽂件类型除了“-”普通⽂件外,“d”⽬录、“l”符号链接、“c”字符专⻔门设备⽂件、“b”块专⻔门设备⽂ 件、“p”先进先出、“s”套接字
  • 修改⽂件的权限:chmod [ugo][=+-][rwx] filename,⽤三个⼋进制数表示⽂件权限,chmod 777 filename = chmod ugo=rwx filename
  • Linux的权限rwx的数值表示:rwx 7,rw- 6,r-x 5,r-- 4,-wx 3,-w- 2,--x 1,--- 0

find 与 grep

  • find命令是⼀个⽆处不在命令,是linux中最有⽤的命令之⼀。find命令 ⽤于:在⼀个⽬录(及⼦⽬录)中搜索⽂件,你可以指定⼀些匹配条 件,如按⽂件名、⽂件类型、⽤户甚⾄是时间戳查找⽂件
  • grep (global search regular expression(RE) and print out the line,全 ⾯搜索正则表达式并把⾏打印出来)是⼀种强⼤的⽂本搜索⼯具,它能 使⽤正则表达式搜索⽂本,并把匹配的⾏打印出来
  • find⽤法举例:
  1. find path -option [ -print ] [ -exec -ok command ] {} \;
  2.  find ~ -name "*.txt" -print #在$HOME中查.txt⽂件并显示;
  3. find . -name "*.txt" -print;find . -name "[A-Z]*" -print #查以⼤写字⺟开头的⽂件;
  4. find /etc -name "host*" -print #查以host开头的⽂件;
  5. find . -name "[a-z][a-z][0–9][0–9].txt" -print #查以两个⼩写字⺟和两 个数字开头的txt⽂件。
  • grep⽤法举例:
  1. grep 'test' d* 显示所有以d开头的⽂件中包含test的⾏;
  2. grep 'test' aa bb cc 显示在aa,bb,cc⽂件中匹配test的⾏;
  3. sudo grep -v “#" /etc/host.conf;
  4. ls -l | grep '^a' 通过管道过滤ls -l输出的内容,只显示以a开头的⾏
  • grep正则表达式元字符:
  1. ^ 锚定⾏的开始 如:'^grep'匹配所有以grep开头的⾏;
  2. $ 锚定⾏的结束 如:'grep$'匹配所有以grep结尾的⾏;
  3. . 匹配⼀个⾮换⾏符的字符 如:'gr.p'匹配gr后接⼀个任意字符,然后是p;
  4. * 匹配零个或多个先前字符 如:' *grep'匹配所有⼀个或多个空格后紧跟grep的⾏。 .*⼀起⽤代表任 意字符;
  5. [] 匹配⼀个指定范围内的字符,如'[Gg]rep'匹配Grep和grep;
  6. [^] 匹配⼀个不在指定范围内的字符,如:’[^A-FH-Z]rep'匹配不包含A-F和H-Z的⼀个字⺟开头,紧 跟rep的⾏;
  • grep的选项:
  1. -b 在每⼀⾏前⾯加上其所在的块号,根据上下⽂定位磁盘块时可能会⽤到;
  2. -c 显示匹配到的⾏的数⽬,⽽不是显示⾏的内容;
  3. -h 不显示⽂件名;
  4. -i ⽐较字符时忽略⼤⼩写的区别;
  5. -l(⼩写的字⺟L) 只列出匹配⾏所在⽂件的⽂件名(每个⽂件名只列⼀次),⽂件名之间⽤换⾏符分隔;
  6. -n 在每⼀⾏前⾯加上它在⽂件中的相对⾏号;
  7. -r 对⽬录下递归查询所有⼦⽬录;
  8. -v 反向查找,只显示不匹配的⾏;
  9. -w 把表达式作为词来查找,就好像它被\<和\>夹着那样。只适⽤于grep(并⾮所有版本的grep都⽀持这⼀功能,譬如,SCO UNIX就 不⽀持)

tar命令

  • tar [-cxtzjvfpPN] ⽂件 ⽬录/⽂件
  • -c :建⽴⼀个压缩⽂件的参数指令(create 的意思);
  • -x :解开⼀个压缩⽂件的参数指令!
  • -t :查看 tarfile ⾥⾯的⽂件!
  • -z :是否同时具有 gzip 的属性?亦即是否需要⽤ gzip 压缩?
  • -v :压缩的过程中显示⽂件!这个常⽤,但不建议⽤在背景执⾏过程!
  • -f :使⽤档名,请留意,在 f 之后要⽴即接档名喔!不要再加参数!
  • -N :⽐后⾯接的⽇期(yyyy/mm/dd)还要新的才会被打包进新建的⽂件中!
  • --exclude FILE:在压缩的过程中,不要将 FILE 打包!

ssh和sshd

  • sudo apt-get install openssh-server 安装ssh
  • sudo ps -e |grep ssh # 有sshd,说明ssh服务已经启动
  • sudo service ssh start
  • sudo gedit /etc/ssh/sshd_config配置ssh
  • 未完,,,
发布了67 篇原创文章 · 获赞 16 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/weixin_42446330/article/details/105261244