Linux基础

Linux 常用命令

1. 文件处理

1)建立目录

mkdir -p [目录名]
    -p表示递归创建,即先建立上级目录,再在这个目录下创建二级目录 

2)查询目录中内容

ls [选项] [文件或目录]
选项:
    -a 显示所有文件,包括隐藏文件
    -l 显示详细信息 如:ls -l 显示:drwxr-xr-x   8 meng  staff    256  4 10 12:19 testC
    -d 查看目录属性
    -h 人性化显示文件大小,如:ls -lh 显示:drwxr-xr-x   8 meng  staff   256B  4 10 12:19 testC
    -i 显示inode,查看i节点

   -rw-r–r--

  • 第一个字符-表示文件类型(-文件、d目录、|软链接文件)
  • rw- r-- r–
    三个一组,分别代表u所有者、g所属组、o其他人
    (r读 w写 x执行)
cd简化操作:
cd ~ 进入当前目录的根目录
cd   进入当前目录的根目录
cd - 进入上次目录
cd .. 返回上级目录
cd . 进入当前目录

相对路径: 参照当前所在目录进行查找。 如: cd …/Downloads/
绝对路径: 从根目录开始指定,一级一级递归查找,在任何目录下都能进入指定位置。 如: cd /Users/meng/Documents/

注: ls -l 等价于ll

3)查询当前目录

pwd

4)删除空目录

删除空目录:rmdir [目录名]
强制删除: rm -rf [文件或目录]
  r 删除目录
  f 强制

5)复制命令

cp [选项] [原文件或目录] [目标目录]
选项:-r 复制目录
      -p 连带文件属性复制
      -d 若源文件是链接文件,则复制链接属性
      -a 相当于-pdr

6)剪切/改名命令

mv [原文件或目录][目录目标]
注:若原文件和目标文件在同一目录下则为改名,否则为剪切

7)链接命令

ln -s [原文件][目标文件]
选项: -s 创建软连接

硬链接拥有相同的i节点和存储block块,可以看作同一个文件;不能跨分区;不能针对目录使用。删除原文件仍可使用

软链接类似于快捷方式,有自己的i节点和Block块,修改任意文件,另一个都改变,删除原文件,软链接不能使用,文件权限都为lrwxrwxrwx

7)常见目录作用

  • 根目录下bin和sbin,usr目录下的bin和sbin都是用来保存系统命令。sbin需要root权限才可以访问(usr下为系统软件资源)
  • etc下保存系统默认的配置文件
  • lib下保存函数库
  • boot下保存用户启动相关文件
  • /mnt为系统挂载目录
  • tmp下保存临时文件

注: 除home、root、demp下随意放置文件,其余目录尽量不要动

2. 文件搜索

1)文件搜索命令:locate

locate [文件名]
在后台数据库中(/var/lib/mlocate)按文件名搜索,搜索速度更快。(updatedb 更新数据库)

2)搜索命令的命令:whereis 、which

whereis 命令名
# 搜索命令和帮助文档所在路径
-b 只查找可执行文件
-m 只查找帮助文件

which 命令名
# 可以查看命令的别名

3)文件搜索命令:find

find [搜索范围][搜索条件]
如:
find /root -name test.txt
# 若想模糊查询,可以用通配符
*  匹配任意内容
? 匹配任意一个字符
[] 匹配任意一个中括号内的字符

find /root -iname test.txt 
# 不区分大小写
find /root -user root
#按所有者查询
find /root nouser
# 查找没有所有者的文件

find /var/log/ -mtime +10
#按时间查找
  -10 10天内
  10  10天当天
  +10 10天前
  atime 文件访问时间
  ctime 改变文件属性
  mtime 修改文件内容

find . -size 25k
#按文件大小查找(.为当前目录)
  -25k 小于25KB的文件
   25k 等于25KB的文件
  +25k 大于25KB的文件

find . -size +20k -a -size -50k 
#查找当前目录下大于20k并且小于50k的文件
  -a and
  -o or

find . -size +20k -a -size -50k -
exec ls -lh {} \;
#-exec 针对查找结果的命令 {} \;

find . -inum 262422
#按i节点查找

4)字符串搜索命令:grep

grep [选项] 字符串 文件名
#在文件当中匹配符合条件的字符串
选项: -i 忽略大小写
       -v 排除指定字符串,即取反
例如:grep "nums" hello.py

find与grep区别:
find是在系统中搜索符合条件的文件名,可以使用通配符匹配,是完全匹配。
grep是在文件中搜索符合条件的字符串,可以使用正则表达式进行匹配,是包含匹配。

3. 帮助

1)man

man 命令
如:man ls

man -f 命令 相当于 whatis 命令
man -k 命令 相当于 apropos 命令
# 所有包含命令字符的,如apropos passwd 返回 ldappasswd(1) 和passwd(1)  

2)help

选项帮助:命令 --help
shell 内部命令:help shell内部命令
如:whereis cd #确定是否是shell内部命令,通过查看是否有配置路径
help cd #获取内部命令帮助

3)info

info 命令
  回车:进入子帮助页面(带*号)
    u:进入上层页面
    n:进入下一个帮助小结
    p:进入上一个帮助小结
    q:退出

4. 压缩与解压缩

常用压缩格式:.zip   .gz  .bz2  .tar.gz  .tar.bz2

1).zip压缩

zip 压缩文件名 源文件
#压缩文件
zip -r 压缩文件名 源目录
#压缩目录
unzip 压缩文件/目录
#解压缩

2).gz压缩

gzip 源文件
#压缩文件,源文件会消失
gzip -c 源文件 > 压缩文件
#压缩文件,源文件保留
gzip -r 目录
#挨个压缩目录下的所有子文件,不能压缩目录
gzip -d 压缩文件
gunzip 压缩文件
#解压缩

3).bz2压缩:不能压缩目录

bzip2 源文件
#压缩文件,源文件会消失
bzip2 -k 源文件
#压缩文件,源文件保留
bzip2 -d 压缩文件
bunzip2 压缩文件
#解压缩,-k保留压缩文件

4)tar打包命令

tar -cvf 打包文件名 源文件
选项: -c 打包
       -v 显示过程
       -f 指定打包后的文件名
       
tar -xvf 打包文件名
选项: -x 解打包
#直接压缩为.tar.gz格式
tar -zcvf 压缩后包名.tar.gz 源文件
tar -zxvf 解压缩包.tar.gz
tar -ztvf 只查看压缩包.tar.gz

#直接压缩为.tar.bz2格式
tar -jcvf 压缩后包名.tar.bz2 源文件
tar -jxvf 解压缩包.tar.bz2
tar -jtvf 只查看压缩包.tar.gz


如:tar -zcvf /tmp/testfile.tar.gz file1 file2
#同时压缩两个文件到temp路径下
tar -zxvf testfile.tar.gz -C /tmp/
#将压缩文件解压缩到指定文件

5. 关机和重启

shutdown [选项] 时间 
选项:  -c 取消前一个关机命令
       -h 关机
       -r 重启
时间:now或具体时间

  其他关机命令:halt、poweroff、init 0 不常用
其他重启命令:reboot、init 6

6. 其他

1)挂载命令

mount
#查询系统中已经挂载的设备
mount -a
#依据配置文件/etc/fstab的内容,自动挂载

mount [-t 文件系统] [-o 特殊选项] 设备文件名 挂载点
选项: -t 文件系统 加入文件系统类型来指定挂载的类型,可以是ext3、ext4、iso9660等
如:mount -o remout,exec /home/
#重新挂载已挂载的文件系统,home默认已挂载,所以不需要写设备文件名
# 挂载光盘

mkdir /mnt/cdrom/
#建立挂载点
mount -t iso9660 /dev/sr0 /mnt/cdrom
#挂载光盘 -t iso9660可不写
umount /mnt/cdrom/
#卸载,可跟设备文件名或挂载点
#挂载U盘

fdisk -l
#查看U盘设备文件名
mount -t vfat /dev/sdb1 /mnt/usb/
#sdb1为查看到的设备文件

2)用户登录查看和交互

w
#查看登录用户信息
who
#只能看到用户名、登录终端、登录时间

last
# 查询当前登录和过去登录的用户信息
lastlog
# 查询所有用户最后一次登录时间
runlevel 
# 查看系统当前运行级别
logoout
# 退出登录
touch 文件  #创建文件
cat 文件 #查看文件内容
more 文件 #分屏查看文件内容
vim 文件 #编辑文件

Shell基础

1. 脚本执行

.sh为shell脚本文件

必须以 #!/bin/bash 开头

#注释

echo #输出

# 输出带颜色的文字
echo -e "\e[1;31m 你好 \e[0m"

如: vim hello.sh  #写脚本
运行方法1:(常用)
     chmod 755 hello.sh #赋予执行权限
     ./hello.sh  #运行
运行方法2:
      bash hello.sh

2. 别名

alias
# 显示系统中所有命令的别名
alias 别名='原命令'
# 设定命令别名
vi ~/.bashrc
#写入环境变量配置文件
unalias
#删除别名

3. 常用快捷键

ctrl c #强制终止
ctrl l #清屏
ctrl a #光标移到命令行首
ctrl e #光标移到命令行尾
ctrl u #从光标位置删除到行尾
ctrl z #把命令放入后台
ctrl r #在历史命令中搜索

4. 历史命令

history [选项] [历史命令保存文件]
选项: -c 清空历史命令
       -w 把缓存中的历史命令写入历史命令保存文件~/.bash_history
!! #重复执行上一条命令
!字符串 #执行上一个以该字符串开头的命令

5. 输出重定向

将在显示器上显示的命令结果保存到文件中

命令 > 文件  #覆盖输出
命令 >> 文件  #追加输出

错误命令 2>文件  #覆盖错误输出,>左右无空格
错误命令 2>>文件  #追加错误输出,>>左右无空格

命令 >文件 2>&1 #覆盖输出,将正确输出和错误输出都保存到同一个文件中
命令 &>文件 #同上

命令 >>文件 2>&1 #追加输出,将正确输出和错误输出都保存到同一个文件中
命令 &>>文件 #同上

命令 >>文件1 2>>文件2  #将正确输出到文件1,错误输出到文件2

6. 输入重定向

wc [选项] [文件名]
选项: -c 统计字节数
       -w 统计单词数(以空格区分单词)
       -l 通风机行数

7. 管道符

#多个命令执行
; #顺序执行多个命令,命令之间没有逻辑关系
&& #逻辑与
|| #逻辑或

#管道符
命令1 | 命令2
#命令1的正确输出作为命令2的输入
如: ll /etc | more

8. 其他

$ #调用变量的值
$() #类似于``,用来引用系统命令

参考:

慕课网Linux达人养成计划:http://www.imooc.com/learn/175

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值