Linux基础概念及基本应用

linux系统各种目录

cd /  进入linux系统的根目录

 

linux所有的文件都是位于根目录下边的。

认识一下各种目录:

  bin  (binaries)存放二进制可执行文件

  sbin  (super user binaries)存放二进制可执行文件,只有root才能访问

  etc (etcetera)存放系统配置文件

  usr  (unix shared resources)用于存放共享的系统资源

  home 存放用户文件的根目录

  root  超级用户目录

  dev (devices)用于存放设备文件

  lib  (library)存放跟文件系统中的程序运行所需要的共享库及内核模块

  mnt  (mount)系统管理员安装临时文件系统的安装点

  boot 存放用于系统引导时使用的各种文件

  tmp  (temporary)用于存放各种临时文件

  var  (variable)用于存放运行时需要改变数据的文件

linux常用命令

有时候会遇到这样的错误: No space left on device

然后通过df -h 命令查询磁盘情况:

 

因为我不太清楚到底是哪个文件占用了这么大,所以采用命令:

Du -sh /*

 

原来是/usr路径,进去继续追查

最终是一步一步追查,发现是tomcat日志

 ll -ah查看具体文件的大小

2、查看当前系统的时间 date

[test@hdp-node-01 ~]$ date +%Y-%m-%d

2016-05-18

设置时间

date -s "2016-05-23 01:01"      ## 修改时间

修改时间后,需要写入硬件bios才能在重启之后依然生效

hwclock -w

清屏

clear    ## 或者用快捷键  ctrl + l

退出当前进程

ctrl+c   有些程序也可以用q键退出

挂起当前进程

ctrl+z   ## 进程会挂起到后台

bg jobid  ## 让进程在后台继续执行

fg jobid   ## 让进程回到前台

Linux的目录文件操作

查看目录信息

Ls -l 列出详细信息

Ls -h 列出详细信息,并且带有文件大小

也可以这样写:ll -lh

Ls -a 会把隐藏文件查询出来  组合使用:ls -ha

切换目录change directory

快速的切回主目录:cd ~

退回到上一层目录:cd -

Cd 什么都不带,会回到用户的主目录

返回上一级:cd ..

创建文件夹

mkdir aaa 文件名

Mkdir -p aaa/bbb/ccc 级联创建多个目录

删除文件夹

rmdir  aaa   ## 可以删除空目录

rm  -r  aaa   ## 可以把aaa整个文件夹及其中的所有子节点全部删除(通过递归的形式删除的)

rm  -rf  aaa   ## 强制删除aaa(这个命令要谨慎

修改文件夹名称

mv  aaa  angelababy

mv本质上是移动

mv  install.log  aaa/  将当前目录下的install.log 移动到aaa文件夹中去

rename 可以用来批量更改文件名

创建文件

touch somefile  这样就创建了一个空文件(linux的文件的后缀名其实是没有什么特殊意义的,只是按类别区分)

vi 文件名:vi demo.txt

重定向

‘>’将一台指令的输出结果接入到另一个文件中,会覆盖原来的内容(如果指定的文件不存在,则会创建出来)

echo “wangbaoqiang zhen ke lian” > demo.txt

‘>>’ 将一个文件追加到另一个文件中,不会覆盖

echo “malaoshi” >> demo.txt

22 > 2.txt

关于编辑文本

  当进入某个文本命令行以后,刚开始的时候是只读模式的,如果想修改,需要启动命令才可以。有三种命令:

       1、i 光标所在位置进行编辑

       2、A光标后面进行编辑

       3、O 下一行启动一个新的

    保存

       需要先退出编辑模式:esc

       :w 保存

        :wq 保存且退出

    常用快捷键:

       a 在光标后一位开始插入

       A 在该行的最后插入

       I 在该行的最前面插入

      gg 直接跳到文件的首行

      G 直接跳到文件的末行

     dd 删除一行

     3dd 删除3

     yy 复制一行

    3yy 复制3

    p 粘贴

拷贝/删除/移动

  cp somefile1 /home/hadoop/

   cp -r 目标文件  拷贝地址

  假如一个文件隐藏的很深:

 

此时想copy   bb文件夹到root目录下,这时候直接用 cp aa/bb/ /root/就会报错

 

所以要使用递归的方式copy:cp -r aa/bb/ /root/

 

rm -r /文件夹或者文件名   (删除)

rm -rf /home/hadoop/somefile1(强制删除)

 

移动文件:mv(move)

将demo1.txt移动到aa文件夹内

mv demo1.txt aa/

 

 

统计wc(word count)

wc 统计文本的行数、字数、字符数(word count)

-m 统计文本字符数

-w 统计文本字数

-l 统计文本行数

查看文件内容(重点)

cat  一次性将文件内容全部输出到控制台

more  可以翻页查看,下翻一页(空格) 上翻一页(b)  退出q

less 和more差不多,但是比more更强大一点

head -10 install.log   查看文件的头10行

tail -100f install.log   查看文件尾部的100行

tail -f install.log 实时的查看文件中的内容,只要有更新就会查看。

查看当前工作目录

pwd 显示当前工作目录(print working directory)

关于远程拷贝的命令

1、将当前文件拷贝到另一台机器上

scp -r /home/test/test.txt root@192.168.1.5:/home/root

2.从 远程 复制到 本地
scp root@/172.19.2.75:/home/root/full.tar.gz /home/daisy/full.tar.gz

7、打包并压缩(重要)

tar -zcvf a.tar.gz a.txt    tar -zcvf 路径/压缩的文件名 目标文件

8、解包并解压缩(重要)

tar  -zxvf  a.tar.gz

文件的查找

1、Which 命令

 Which ls 查看这个文件是在哪个目录下

 

2、whereis  命令

whereis ls

 

Find命令

3、从某个文件夹开始查找文件

find / -name "hadooop*"

Grep命令

1/ 基本使用

查询包含hadoop的行

grep hadoop /etc/password

grep aaa  ./*.txt

文件权限的操作

不同用户是有不同操作权限的

 

1 linux文件权限的描述格式解读

drwxr-xr-x      (也可以用二进制表示  111 101 101  -->  755)

d:标识节点类型(d:文件夹   -:文件  l:链接)

r:可读   w:可写    x:可执行

第一组rwx: ## 表示这个文件的拥有者对它的权限:可读可写可执行

第二组r-x:  ## 表示这个文件的所属组用户对它的权限:可读,不可写,可执行

第三组r-x:  ## 表示这个文件的其他用户(相对于上面两类用户)对它的权限:可读,不可写,可执行

2 修改文件权限

U:表示user(所属用户)

G:表示group(表示所属组)

O:表示other(表示其他用户)

A:all

chmod g-rw haha.dat             ## 表示将haha.dat对所属组的rw权限取消

chmod o-rw haha.dat            ## 表示将haha.dat对其他人的rw权限取消

chmod u+x haha.dat              ## 表示将haha.dat对所属用户的权限增加x

chmod a-x haha.dat        ## 表示将haha.dat对所用户取消x权限

也可以用数字的方式来修改权限

chmod 664 haha.dat  

就会修改成   rw-rw-r--

如果要将一个文件夹的所有内容权限统一修改,则可以-R参数

chmod -R 770 aaa/

3 修改文件所有权chown

<只有root权限能执行>

 

当需要改指定目录及其子目录下所有文件的拥有者和群组的时候,需要:

chown -R 拥有者:群组 文件

(分配文件权限,前提是root用户和确实存在这个用户)

基本的用户管理

需要我们掌握的:

添加一个用户:

1、   useradd spark

2、   passwd spark     根据提示设置密码;

即可

 

删除一个用户:

userdel -r spark     加一个-r就表示把用户及用户的主目录都删除

1 添加用户

添加一个tom用户,设置它属于users组,并添加注释信息

分步完成:useradd tom

          usermod -g users tom   (-g表示组)

               usermod -c "hr tom" tom  (-c表示)

一步完成:useradd -g users -c "hr tom" tom

设置tom用户的密码

passwd tom

2 修改用户

修改tom用户的登陆名为tomcat

usermod -l tomcat tom

 

将tomcat添加到sys和root组中

usermod -G sys,root tomcat

 

查看tomcat的组信息

groups tomcat

3 用户组操作

添加一个叫america的组

groupadd america

将jerry添加到america组中

usermod -g america jerry

将tomcat用户从root组和sys组删除

gpasswd -d tomcat root

gpasswd -d tomcat sys

 

将america组名修改为am

groupmod -n am america

4 为用户配置sudo权限

用root编辑 vi /etc/sudoers

在文件的如下位置,为hadoop添加一行即可

root    ALL=(ALL)       ALL    

hadoop  ALL=(ALL)       ALL

 

然后,hadoop用户就可以用sudo来执行系统级别的指令

[hadoop@shizhan ~]$ sudo useradd huangxiaoming

关于ps命令和grep命令

ps 显示瞬间的进程状态

-e /-A 显示所有进程,环境变量

-f 全格式

-a 显示所有用户的所有进程(包括其它用户)

-u 按用户名和启动时间的顺序来显示进程

-x 显示无控制终端的进程

Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来

通常情况下,这俩是合起来使用的,比如查看某个进程:

Ps -ef | grep redis

Ps -ef | grep tomcat

netstat 显示网络状态信息

和ps -ef |grep 功能相似的,netstat -nltp

比如查看端口号是否被占用netstat -nltp|grep 端口号

posted @ 2021-11-18 17:39  安琪儿一直在  阅读(104)  评论(0编辑  收藏  举报