linux基础

Posted neozheng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux基础相关的知识,希望对你有一定的参考价值。

用户

Linux下两种类型用户:超级用户和普通用户

超级用户: root用户;终端表示:#;  1个;  不要在root用户下工作; home目录: /root
普通用户: 可有多个,用户名可指定;终端列示:$;工作要在普通用户下; home目录:/home/用户名可指定;终端列示:$;工作要在普通用户;home目录:/home/用户名
超级用户/普通用户 修改密码: passwd

~ 代表  当前用户的home目录

相关命令:

创建普通用户(超级用户下):useradd -m user1
为 user1 这个普通用户创建密码: passwd user1

由超级用户切换到 user1 这个普通用户: su - user1

删除user1:
userdel user1  # 1. 超级用户删除普通用户
rm -rf /home/user1  # 2. 删除user1的文件目录

如果user1正在登陆,需要先把user1退出再删除:
1. ctrl D   # 退出
2. exit  # 退出user1

 

PATH环境变量:

示例要求:输入 my_date 就显示当前的时间

linux 自带的 date 就能实现该功能,所以就用自带的 date 
# 1. 创建自己的文件夹:
    mkdir work
# 2. 查找 date 在哪个文件夹下:
    whereis date
# 3. 把 date 复制到 work 下:
    cp /bin/date ./work/my_date    # .表示当前目录

# way1:
# 4. 调用my_date:(路径+命令;路径可以是绝对路径也可以是相对路径)
    /home/user/work/my_date

# way2:
# 4. 查看环境变量的值:
    echo $PATH
# 5. 把 my_date 所在的目录添加到环境变量:
    export PATH=$PATH:/home/user/work
# 通过这种方式,就可以直接调用 my_date 来实现 date的功能;但是,export 的导入只是临时性的,换个终端或者重启系统就不能再调用 my_date;想永久保留该命令,可以把命令写入到配置文件 /etc/profile  中

 

文件属性和权限操作

文件属性:

文件属性:
cp /bin/date my_date
ls -l my_date  # 查看文件属性;结果如下:
# -rwxr-xr-x. 1 user user 59392 10月  3 17:30 my_date  # 第一个user表示 owner,第二个表示 group

# -rwxr-xr-x. 表示权限:(开头的 - 表示文件;目录开头用 d 表示)
    # r :读;w :写;x :执行
    # 权限分成了3组:第一组 表示 Owner的(rwx);第二组 Group的(r-x);第三组 Others(r-x)
    # 每组权限的顺序都是rwx,没有的权限用 - 表示,如果用 0和1表示某个权限有没有,则上述权限可写成:755;(八进制) 
    # 如果想把这三个组的 x 权限都去掉,可以用: chmod 644 ./my_date 
    


# 如果文件开头是 . 则表示该文件为隐藏文件,此时用 ls -l 是显示不出来的,要用 ls-la 才能显示出 .开头的文件

# 查看某个命令(如:ls)的详细用法:
    man ls

文件操作:

操作:创建,查看,写入,复制,删除,重命名

# 创建:touch
touch helloworld  # 创建名为 helloworld 的文件
vi helloworld  # 编辑 helloworld 文件;vim中 i 表示 插入, Esc + :wq 表示 保存并退出;:q! 表示不保存
ls -l helloworld  # 查看 helloworld 的文件属性

# 查看:cat
cat helloworld  # 查看 helloworld 的文件内容;cat 用于显示文本文件的内容,如果要查看二进制文件的内容,可通过: vi helloworld --> :%!xxd  ,就会显示文件内容的二进制格式

# 复制:cp
cp helloworld helloworld_bk  # 复制文件:由 helloworld 复制到 helloworld_bk

# 删除:rm
rm helloworld_bk  # linux 下的删除不像windows,能通过回收站找回;linux删除后很难找回

# 重命名:mv
mv helloworld helloworld_rename  # 把 helloworld 重命名为 helloworld_rename

文件内容:

文件内容 <===> 文件类型 (文件内容决定了文件类型;文件的类型只与文件的内容有关,与后缀名无关)

# 查看文件类型: file
file helloworld_rename    # 查看 helloworld_rename 的文件类型  # 结果如下:
# helloworld_rename: UTF-8 Unicode text  # UTF-8 Unicode 格式的文本

 

目录操作:

目录:英文--> directory, windows下称为 文件夹;作用:容纳子目录和文件

linux系统中,目录也是一个特殊的文件,也有自己的属性
mkdir my_dir
touch my_dir/a
ls -l  
# 其中关于 my_dir 的显示为:
# drwxrwxr-x.  2 user user  4096 10月  3 20:54 my_dir  # 权限以 d开头表示目录;4096 表示目录自身的大小;
# 补充:
    返回前一次的路径: cd -
    当前工作路径: pwd
    # 以 . 开头的目录也是隐藏目录,如: 
        mv my_dir/ .my_dir  # 重命名
        # 此时不能用 "ls -l" 查看,而应该用 "ls -la"

 

目录权限:

以上面的 my_dir 目录为例:
# drwxrwxr-x.  2 user user  4096 10月  3 20:54 my_dir # 以 d开头表示目录
rwxrwxr-x 也是分为三组:Owner,Group 和 Other;
r 表示 可读,即可使用 ls 来查看;w 表示可写,即能在该目录下使用 touch 去创建文件
x, 与文件的x代表 “执行” 不同,目录的 x 表示 “可进入”,即能 cd 进去
# 对于目录的权限而言, x 是最基本的属性,如果没有 x 权限,其它所有的操作都无法成功

# 删除目录:rm -rf my_dir/  # -r表示采用了递归、循环的删除(目录下面有可能还包含子目录...)# -f表示强制删除

# 某一个目录下所有文件和文件夹的大小: 
du -sh 目录名

 

以上是关于linux基础的主要内容,如果未能解决你的问题,请参考以下文章

20155307刘浩《网络对抗》逆向及Bof基础

20155311高梓云《网络对抗》逆向及Bof基础

20145301赵嘉鑫《网络对抗》逆向及Bof基础

[vscode]--HTML代码片段(基础版,reactvuejquery)

Linux bash基础特性二

[linux][c/c++]代码片段01