liunx基本操作

1、命令

文件:ls   cd  cp  rm  mv  more  cat  head  vi   touch  mkdir

ls命令:ls  [option]   [pathname] 显示给定目录中的文件

            后面两个参数可选,单独的ls命令显示出当前目录下的文件
                ls  -a   显示当前目录下所有的文件,包括隐藏文件
                ls  -l    显示当前目录下的文件的详细信息。等同于ll命令
                -al   综合上面的两个参数的功能
                -h 人性化显示
                -d 查看目录属性
                -i    显示当前目录下文件所对应的inode节点号 
            上述命令都可以加上第二个参数,显示给定目录下对应的内容
    cd命令:cd  [pathname]  切换工作目录到指定的路径下
              pathname可以是相对路径也可以是绝对路径
             绝对路径:  从根目录开始指定目录所在的全路径, 以/开始的都是绝对路径,例如:/home/username/Desktop
             相对路径:  相对于当前工作目录的路径 例如:../dvd
             pathname 也可以是特殊字符:~   -  ..
             ~ 进入当前登录用户的家目录
             - 在上一次工作路径与当前工作目录间切换
             ..  进入当前目录的上一级目录,即当前目录的父目录  
    cp命令:cp  [filename]  [pathname] 将filename文件拷贝到pathname指定的目录下, pathname后可以加文件名,实现拷贝并重命名文件
    -r 复制目录
    -p 连带文件属性复制
    -d 对链接文件复制,复制连接属性
    -a(-pdr)
    mv命令:mv  [filename]  [pathname]  将filename文件移动到pathname指定的目录下pathname后可以加文件名,实现移动并重命名文件,如果 pathname也仅仅是个文件名,则实现重命名文件。
    touch命令: touch  [newfile]  创建普通文件,创建文件时必须指定文件的扩展 名,例如: touch main.c   touch log.txt
    mkdir命令: mkdir  [newdir]   创建目录文件。例如: mkdir test  mkdir  dvd
-p 递归创建,先创建上一级在创建目录。
                mkdir 创建的目录都是空目录,里面只包含了 “. ” 和 “..” 两个目录,其中“.”代表当前目录   “..”代表上一级目录(父目录)
    rm命令: rm  filename  删除普通文件。
    -r  : 删除非空目录 
    -f  : force强制操作,不提示
    rmdir命令: rm  dirname  删除空目录文件

                ls  -a   显示当前目录下所有的文件,包括隐藏文件

                ls  -l    显示当前目录下的文件的详细信息。等同于ll命令

                -al   综合上面的两个参数的功能

                -h 人性化显示

                -d 查看目录属性

                -i    显示当前目录下文件所对应的inode节点号 

            上述命令都可以加上第二个参数,显示给定目录下对应的内容

    cd命令:cd  [pathname]  切换工作目录到指定的路径下

              pathname可以是相对路径也可以是绝对路径

             绝对路径:  从根目录开始指定目录所在的全路径, 以/开始的都是绝对路径,例如:/home/username/Desktop

             相对路径:  相对于当前工作目录的路径 例如:../dvd

             pathname 也可以是特殊字符:~   -  ..

             ~ 进入当前登录用户的家目录

             - 在上一次工作路径与当前工作目录间切换

             ..  进入当前目录的上一级目录,即当前目录的父目录  

    cp命令:cp  [filename]  [pathname] 将filename文件拷贝到pathname指定的目录下, pathname后可以加文件名,实现拷贝并重命名文件

    -r 复制目录

    -p 连带文件属性复制

    -d 对链接文件复制,复制连接属性

    -a(-pdr)

    mv命令:mv  [filename]  [pathname]  将filename文件移动到pathname指定的目录下pathname后可以加文件名,实现移动并重命名文件,如果 pathname也仅仅是个文件名,则实现重命名文件。

    touch命令: touch  [newfile]  创建普通文件,创建文件时必须指定文件的扩展 名,例如: touch main.c   touch log.txt

    mkdir命令: mkdir  [newdir]   创建目录文件。例如: mkdir test  mkdir  dvd

-p 递归创建,先创建上一级在创建目录。

                mkdir 创建的目录都是空目录,里面只包含了 “. ” 和 “..” 两个目录,其中“.”代表当前目录   “..”代表上一级目录(父目录)

    rm命令: rm  filename  删除普通文件。

    -r  : 删除非空目录 

    -f  : force强制操作,不提示

    rmdir命令: rm  dirname  删除空目录文件


Vi的三种模式:

命令模式

插入模式

末行模式

三种模式的切换

Esc

i  o  a :  /



  命令模式转到插入模式的操作:

i 在当前光标所在位置前面插入

  a 在当前光标后面插入

o(小写)在当前光标的下一行插入新的一行。

O(大写)在当前光标的上一行插入新的一行。

在执行以上操作时要注意事先应处于命令模式。



  dd删除光标所在一行

  ndd删除光标及以下n行。

  yy拷贝行,nyy拷贝n行。

  p光标所在位置的下一行粘贴



  撤销操作:u每按一次撤销一次最近的操作

  移动光标:

$/^ :移动到行首/行尾

shift + 空格:切换输入法

shift + h:移动到屏幕顶端

shift + l:移动到屏幕尾端

shift + m:移动到屏幕中间

  shift + g:光标移动到文件末

n shift + g:移动到第n行

ctrl + f :向下翻页。

ctrl + b :向上翻页。

J 将光标所在下一行和该行组成一行.

n + x:删除那个字符。

d + 移动光标:先选中,在删除。可复制入剪贴板

r :替换光标所在字符

cc:删除本行,重新编辑

C:删除光标当前到行尾的内容,重新编写


末行操作:

在命令模式下输入  ‘/’ ‘:’ ‘?’可切换到末行模式

:n光标停在第几行

/搜索从当前往下搜索 

n 跳到下一个高亮string

?从当前往上搜索

:w 存盘

:w newfile 另存为

:wq保存退出

q!强制退出

:q退出

:ls

num, $s  /oldstring/newstring/        将每一行第一个old用new替换.

num, $s  /oldstring/newstring/g      将文本中所有的old用new替换.

查看文件内容

more: 只显示一屏内容,后续以百分比形式按回车显示。

less: 以文本查看器方式查看,类似于man。

head -num filename: 显示文件前num行。

tail -num filename: 显示文件后num行。  

cat  filename : 将文件filename中的内容完全显示到终端上

cat命令: cat  filelist(a.c  b.c)  >  newfile(c.c)  将文件a.c b.c 中的内容合并到文件



    find 命令

    find [搜索范围] [operation] [搜索条件] -exec [第二条命令] {} \;(-exec {}\;标准格式)

    -name

    -iname   文件名忽略大小写

    -nouser  没有所有者(内核产生/外来文件)

    -mtime +/-num 修改文件内容

    -ctime +/-num 修改文件属性

    -atime ... 访问文件时间

    -size +/-num (-a/-o(and表示逻辑与/or逻辑或) +/-num) (不写默认按硬盘扇区的块为单位)k/M 按文件大小搜索

    -inum num 按照inode节点号查询


    find在系统中搜索符合条件的文件名。完全匹配才可找到。若要模糊查询,需要用通配符匹配。

    通配符 * 匹配任意字符串

    匹配任意一个字符

    [] 匹配任意一个[]内的字符

    grep命令:在(包含管道文件)文件中匹配符合条件的字符串 (包含匹配)

    PS: 模糊查询时需用正则表达式。

    文件名用通配符,find.文件内容,使用正则表达式,grep.

    grep [operation] string 文件名 根据string过滤出相应的内容 

    -i 忽略大小写

    -v  排除指定字符串

    管道符[operation1] | [operation2]: 通过管道进程间通信。[operation1] 输出到管道中,由[operation2]接收

进程:ps   kill  pkill   bg   fg  jobs 

ps [operation]命令:显示当前终端上运行的进程信息
-f 显示当前终端上运行的进程的详细信息
-ef  显示系统上运行的所有进程的详细信息

kill  -stop pid  挂起进程号为pid的进程
      -9 pid 强制结束进程号为pid的进程(只能拥有权限的进程)

pkill命令: pkill  cmd  批处理关闭所有cmd执行起来的进程

jobs命令:显示当前终端的任务信息
    bg命令:  bg  jobid    将挂起的任务号为jobid的进程放到后台执行
  fg jobid命令: 将挂起的或者后台运行的任务号为jobid的进程放到前台执行

管理:useradd命令(也可以使用adduser)用来创建新的用户帐号,其命令格式如下:
〔root@localhost root〕# useradd user1
useradd命令常用选项
-d 设置新用户的登陆目录
-e 设置新用户的停止日期,日期格式为MM/DD/YY
-f 帐户过期几日后永久停权。当值为0时帐号则立刻被停权。而当值为-1时则关闭此功能。预设值为-1
-g 指定新用户所属的主组
-G 指定新用户所属的副组。每个组之间使用逗号“,”隔开,不可以夹杂空白字
-s 指定新用户的登陆Shell
-u 设定新用户的ID值

〔root@localhost root〕# passwd user1 设置和修改用户口令
因为只有root用户可以修改密码,所以修改密码时不需要知道原来的密码,只需要输入两次相同的新密码即可,并且密码的输入是不回显的。
passwd -l user 锁定user
-u  解锁
-d 无密码登陆


 init 6 重启

 rboot 重启

 shut down -r  10  重启

 shut down -r  now 重启

 init 0 关机

 shut down -h 10  关机

 shut down -h now 关机

 halt 关机

程序:GDB调试

编译器要求后缀名。

编译阶段加-g 参数生成debug版本

gdb 可执行程序

l(list) 列出代码

func:line 列出fun函数的第line行上下文

b(break) linenum/func 在num行打断点

r(run) 开始执行

p(print) val 打印val值

n(next) 单步执行

enter 重复上步操作

q(quit) 退出

info break 查看断点

delete breakpointnum 取消断点

c(continue) 继续运行

finish 跳出函数

bt 查看函数调用栈关系

2、文件类型和权限

普通文件 -  目录文件 d 套接字文件 s 块设备文件,b  <二进制文件 >

字符设备文件 c 命名管道文件 p 链接文件 l 

权限:    r<--->4   w<--->2   x<--->1


权限分类:属主u  属主同组g     其他o
 
权限修改: chmod g-w a.c  给同组人减去写权限 +-=
     chmod 765(rwxrw-r-x) 文件名

3、目录

1 /根目录 :每一个文件和目录从根目录开始。

(只有root用户具有该目录下写的权限。注意:/root是root用户的主目录,这./ 不一样)

2 /bin - 用户二进制文件 < 包括二进制可执行文件 >

3 /sbin目录 - 系统二进制文件 

  类似于/bin,/sbin同样也包含二进制可自行文件,但是在这个目录下的linux命令通常由系统管理员使用,

对系统进行维护。

4 /etc - 配置文件

  包含所有程序所需的配置文件,也包含了用于启动/停止单个程序的启动和关闭shell脚本。

5 /dev - 设备文件

  设备包括终端设备、USB或连接到系统的任何设备。

6 /proc - 进程信息

  这是一个虚拟的文件系统,包含正在运行的进程的信息,系统资源以文本信息形式存在。

7 /var - 变量文件

8 /tmp - 临时文件

9 /usr - 用户程序

10 /home - 所有用户用home目录来存储他们的个人档案

11 /boot - 引导加载程序文件

12 /lib - 系统库

13 /opt - 可选的附加应用程序

14 /mnt - 挂载目录

15 /media - 可移动媒体设备

16 /srv - 服务数据

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值