总结一些自己常用的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⽤法举例:
- find path -option [ -print ] [ -exec -ok command ] {} \;
- find ~ -name "*.txt" -print #在$HOME中查.txt⽂件并显示;
- find . -name "*.txt" -print;find . -name "[A-Z]*" -print #查以⼤写字⺟开头的⽂件;
- find /etc -name "host*" -print #查以host开头的⽂件;
- find . -name "[a-z][a-z][0–9][0–9].txt" -print #查以两个⼩写字⺟和两 个数字开头的txt⽂件。
- grep⽤法举例:
- grep 'test' d* 显示所有以d开头的⽂件中包含test的⾏;
- grep 'test' aa bb cc 显示在aa,bb,cc⽂件中匹配test的⾏;
- sudo grep -v “#" /etc/host.conf;
- ls -l | grep '^a' 通过管道过滤ls -l输出的内容,只显示以a开头的⾏
- grep正则表达式元字符:
- ^ 锚定⾏的开始 如:'^grep'匹配所有以grep开头的⾏;
- $ 锚定⾏的结束 如:'grep$'匹配所有以grep结尾的⾏;
- . 匹配⼀个⾮换⾏符的字符 如:'gr.p'匹配gr后接⼀个任意字符,然后是p;
- * 匹配零个或多个先前字符 如:' *grep'匹配所有⼀个或多个空格后紧跟grep的⾏。 .*⼀起⽤代表任 意字符;
- [] 匹配⼀个指定范围内的字符,如'[Gg]rep'匹配Grep和grep;
- [^] 匹配⼀个不在指定范围内的字符,如:’[^A-FH-Z]rep'匹配不包含A-F和H-Z的⼀个字⺟开头,紧 跟rep的⾏;
- grep的选项:
- -b 在每⼀⾏前⾯加上其所在的块号,根据上下⽂定位磁盘块时可能会⽤到;
- -c 显示匹配到的⾏的数⽬,⽽不是显示⾏的内容;
- -h 不显示⽂件名;
- -i ⽐较字符时忽略⼤⼩写的区别;
- -l(⼩写的字⺟L) 只列出匹配⾏所在⽂件的⽂件名(每个⽂件名只列⼀次),⽂件名之间⽤换⾏符分隔;
- -n 在每⼀⾏前⾯加上它在⽂件中的相对⾏号;
- -r 对⽬录下递归查询所有⼦⽬录;
- -v 反向查找,只显示不匹配的⾏;
- -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
- 未完,,,