学无止境

少年辛苦终身事,莫向光阴惰寸功。——唐·杜荀鹤《题弟侄书堂》


Liunx编程-命令

  • pwd显示当前目录 全称Print Working Directory
  • ctrl+l清屏假的清屏
  • ``
  • ctrl+q退出
  • CTRL+-调节字体大小
  • ctrl+art+T打开终端
  • ctrl+shitf+T多终端
  • alt+1,23,4切换窗口
  • CTRL+D关闭终端
  • 上下键查看之前命令
  • which查看命令在那个目录
  • ls -lh查看当前访问权限
  • ls -a查看隐藏文件
  • ls -l以列表的方式列出
  • ls -l -h列表方式和大小也显示
  • ls -a -h -l列表方式文件大小所有的文件和目录都列出来
  • ls -alh简写
  • r读对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权限。
  • w读写对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限。
  • x可执行 对文件而言,具有执行文件的权限;对目录来说该用户具有进入目录的权限。
  • sudo -s切换root账户
  • mkdir创建文件目录
  • mkdir a/c/d -p创建递归目录
  • redir a/b/c -p删除递归空目录
  • rm 文件或者目录 -r==通杀!!!!!!!!!!!!==
  • touch创建文件
  • gedit打开ubuntu的记事本
  • rm删除.文件名
  • .\当前目录
  • .文件名隐藏文件
  • .目录名隐藏目录
  • tree显示文件夹的树状结构图
  • cd -回调上次所在的目录
  • -r删除不了的后面加-r
  • --help获取内部shell帮助

  • man手册获得帮助信息
  • b回滚一瓶
  • f前滚一瓶
  • q推出
  • h列出所有功能键
  • /word搜索woed字符串


通配符


  • *文件代表文件名中所有字符
  • ls te*查找以te开头的文件
  • ls *html查找结尾为html的文件
  • ?代表文件名中任意的一个字符
  • ls ?.c只找第一个字符任意,后缀为.c的文件
  • ls a.?只找中有3个字符,前2字符为a.最后一个字符任意的文件
  • []【“和”】将字符组括起来,表示可以匹配字符组中的任意一个,‘-’用于表示字符范围
  • [abc]匹配a,b,c中的任意一个
  • [a-f]匹配从a到f范围内的任意一个字符
  • ls[a-f]找到a-f内的任意一个字符开头的文件
  • ls [a-f]*找到从a-f内的任意一个字符开头的文件
  • ls a-f吵着文件名为a-f的文件当’-‘‘处于括号之外失去通配符的作用
  • \如果要使通配符作为普通字符使用,可以在其前面加上转义字符。“?”和“*”处于方括号内时不用使用转义字符就失去通配符的作用
  • ls \a*查找文件名为*a的文件

>输出重定向命令

  • ls >test.txttest.txt如果不存在就创建存在则覆盖里面的内容
  • ls /bin >test.txt将bin目录下的所有内容写入到test.txttest.txt如果不存在就创建存在则覆盖里面的内容
  • ls /bin >>test.txt将bin目录下的所有内容追加写入到test.txt
  • cat feiji.py显示feiji.py的所有内容
  • cat test1.txt test2.txt > test3.txt将前两个重定向到test3然后cat test3显示
  • tac倒着显示内容与cat 相对
  • head -2 文件名打印文件前两行内容
  • f下屏
  • b上屏
  • gedit feiji.py使用gedit编辑工具显示:
  • 管道

  • ls -lah | more/cat将lah显示的内容交给more或者cat显示
  • ;多个命令用;隔开ls;ls -lah
  • 相对路径和相对路径

  • 绝对路径以/根目录开始
  • 相对路径就是..

which查看命令的目录

grep文本中搜索

  • 搜索内容以正则表达式表示
  • grep "^ntfs" haha.txt查找ntfs开头的内容
  • grep -n "^ntfs haha.txt"查找内容显示行
  • grep -vni "^ntfs" haha.txt 显示内容不是以ntfs并且显示行和忽略大小写
  • grep "s$" haha.txt以s结尾的内容
  • grep -n "s$" haha.txt显示行
  • grep -n "s" haha.txt查找haha里面包含s内容的行
  • 拷贝

  • cp /home/zhang/python.txt /home/zhang/test -r将python.txt 拷到test目录下
  • cp /home/zhang/python.txt ./r将python.txt 拷到当前目录下
  • mv移动文件和目录

  • mv 文件名 移动的地方 移动文件
  • mv test test1如果当前目录只有test文件test1目录不存在会把test目录名字修改程test1如果test1是文件就会报错如果test1是目录就会移动
  • 如果test1是文件test也是文件
  • mv test test1 会改变名字并且会覆盖test1 的内容
  • test1文件不存在就更改名字

  • find

  • find / -size +2M查找根目录下大于2M的文件
  • find / -name *.py查找根目录下以.py文件结尾的文件
  • find / -perm 0777查看根目录下所有可读可写可执行的文件

  • 创建链接

  • 创建软连接: ln -s 1.txt 任意名字
  • ln 1.txt + 任意名字硬链接
  • 解压打包tar 归档管理

  • -C 指定目录
  • .tar 打包解压

  • 打包命令 tar -cvf test.tar *.txt
  • 解压 tar -xv test.tar -C ./test2
  • .tar.gz 打包解压

  • 打包命令:tar -zcvf test.tar.gz *.txt
  • 解包文件:tar -zxvf test.tar.gz -C ./test
  • .tar.gz2打包解压

  • 打包命令:tar -jcvf test.tar.bz2 *.txt
  • 解包文件:tar -jxvf test.tar.bz2 -C ./test
  • gzip文件压缩解压

  • gzip -r 压缩所有子目录只能压缩tar 的文件
  • gzip -d 解压
  • zip、unzip文件压缩解压

  • 压缩文件:zip [-r] 目标文件(没有扩展名) 源文
  • -d 指定目录
  • 解压文件:unzip -d 解压后目录文件 压缩文件

  • 进程管理

  • ps 查看进程

  • -a 显示终端上的所有进程,包括其他用户的进程
  • -u 显示进程的详细状态
  • -x 显示没有控制终端的进程
  • -w 显示加宽,以便显示更多的信息
  • -r 只前世正在运行的进程
  • - ps -au 查看进程
  • ps -aux 查看进程详细信息
  • top 按照一定的顺序排序显示所有进程

  • shift + p按照cpu占有率排序
  • shift +m 按照内存占有率排序
  • q退出
  • htop

  • kill pid 杀死进程
  • kill -9 pid 强制杀
  • reboot、shutdown、init关机重启


  • 磁盘查看

  • df 检测磁盘空间默认字节

  • -a 显示所有文件系统的磁盘使用情况
  • -m 以1024字节为单位显示
  • -t 显示各指定文件系统的磁盘空间使用情况
  • -T 显示文件系统
  • du检测目录所占磁盘空间

  • -a 递归显示指定目录中各文件和子目录中文件占用的数据块
  • -s 显示指定文件或目录占用的数据块
  • -b 以字节为单位显示磁盘占用情况
  • -l 计算所有文件大小,对硬链接文件计算多次
  • ifconfig查看或配置网卡信息

  • 修改ip地址命令 :sudo ifconfig ens33 192.168.1.108
  • 查看系统日期和时间

  • date显示或设置时间
  • cal命令用于查看当前日历,-y显示整年日历:查看2018年的日历 cal -y 2018
  • date “+%y年%m月%d日” 18年04月13日
  • date “+%y年%m月%d日"18年 4月_13日

  • 用户管理

  • id 用户名判断用户是否存在
  • whoami查看当前用户
  • who
  • cat /etc/passwd查看系统用户信息
  • cat /etc/group groups+ab查看系统用户组信息
  • useradd添加用户账号
  • useradd test -m创建test用户,如果/home/test不存在,就自动创建,不指定默认也是属于test用户组
  • useradd -d /home/abc abc-m创建abc用户,如果/home/abc目录不存在,就自动创建这个目录,同时用户属于abc组
  • useradd -d /home/a a -g test-m创建一个用户名字叫a,主目录在/home/a,如果主目录不存在,就自动创建主目录,同时用户属于test组
  • cat /etc/passwd查看系统当前用户名
  • 切换用户 su+名字
  • sudo passwd +用户名 设置密码
  • userdel删除用户
  • userdel -r abc(用户名) 删除用户,同时删除用户的家目录
  • 删除一个已经登陆过的test用户
  • sudo vim /etc/passwd —>找到test这个账号–>删除这行配置Esc—?:保存推出–》删除家目录sudo rm test -r
  • su 切换用户
  • su 用户—》提示输入密码
  • 切换到test用户 su test —>设置密码sudo passwd test—->exit

  • 查看用户组 cat /etc/group groupmod groups
  • 添加一个组 sudo groupadd haha
  • 删除haha组 sudo groupdel haha
  • 查haha再哪个组groups haha
  • 修改用户所在组 usermod
  • 吧账号test从test组修改成abc sudo usermod -g abc test
  • 把账号teest从abc 到test sudo usermod -g test test
  • 普通用户添加sudo组 sudo usermod -a -G sudo 用户名
  • usermod -g 与 -G的区别 -g用来制定这个用户默认的用户组 -G一般配合’-a’来完成向其它组添加
  • gpasswd把账号从某组移除
  • sudo gpasswd 组 -d 账号

  • 文件管理

  • 把1.txt文件所属组(atguigu)修改成laowang这个组:
  • sudo chgrp laowang 1.txt
  • 把1.txt所有者(atguigu)改成laowang所有
  • sudo chown laowang 1.txt
  • chmod修改文件权限(重点)
  • 字母法
  • chmod u/g/o/a + /-/+ = rwx 文件
  • 数字法
  • r:4 读
  • w:2 写
  • x:1 执行
    • : 0 没有任何权限
  • 3:可写可执行
  • 5:可读可执行
  • 6: 可读可写
  • 7:可读可写可执行