linux基础
linux简介
Linux是一种自由且开源的操作系统。它由Linus Torvalds于1991年创建,最初是为了个人使用而设计的。它采用了UNIX操作系统的许多思想和原则,并且在它之上构建了许多强大的特性和工具,因此得名“Linux”(Linus+UNIX)。
Linux操作系统可以在各种硬件平台上运行,包括个人计算机、服务器、移动设备和超级计算机。它被广泛应用于服务器和企业环境中,也成为许多消费设备和智能手机的操作系统。
Linux操作系统的开放源代码和自由软件许可证使得用户可以自由地使用、修改和分发它,并且可以根据自己的需求定制和编写软件。 Linux的用户界面可以使用命令行终端或图形界面,这使得它非常灵活和可定制。
总之,Linux是一个灵活、可定制、高性能、强大的操作系统,被广泛应用于各种计算机和移动设备,也是开源社区重要的一部分。
常用命令
账号管理
使用者需要是管理员用户 root
添加用户
useradd 选项 用户名
参数:
- -c comment 指定一段注释性描述。
- -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
- -g 用户组 指定用户所属的用户组。
- -G 用户组,用户组 指定用户所属的附加组。
- -s Shell文件 指定用户的登录Shell。
- -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
- 用户名:要添加的新用户名字
useradd xiaohu
更改密码
指定和修改用户口令的Shell命令是passwd
。超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令。命令的格式为:
passwd 选项 用户名
选项:
- -l 锁定口令,即禁用账号。
- -u 口令解锁。
- -d 使账号无口令。
- -f 强迫用户下次登录时修改口令
设置当前用户的口令
passwd xiaohu
修改用户
修改用户账号就是根据实际情况更改用户的有关属性,如用户号、主目录、用户组、登录Shell等。
修改已有用户的信息使用usermod命令
usermod 选项 用户名
xiaohu用户名修改xiaohu666
usermod -l xiaohu666 xiaohu
删除用户
删除一个已有的用户账号使用userdel命令
userdel 选项 用户名
删除用户xiaohu666
user xiaohu666
增加用户组
新增一个用户组
需要root权限
groupadd 选项 用户组
选项有:
- -g GID 指定新用户组的组标识号(GID)。
- -o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同
groupadd xiaohu
修改用户组
groupmod 选项 用户组
选项:
- -g GID 为用户组指定新的组标识号。
- -o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
- -n新用户组 将用户组的名字改为新名字
xiaohu的组名修改为xiaohu666
groupmod -n xiaohu666 xiaohu
查询用户所属组
要查询一个用户属于哪个用户组
groups 用户名
查询用户xiaohu属于某个用户组,执行groups命令
groups xiaohu
删除用户组
要删除一个已有的用户组,使用groupdel命令
groupdel 用户组
删除xinzhi666用户组
groupdel xiaohu666
将用户添加到组
已经存在的用户添加到组
usermod -a -G 组名 用户名
使用’
usermod -a -G xiaohu666 xiaohu
新用户添加到指定组
useradd -g 用户组 用户名
使用
useradd -g xiaohu666 longwang
日期管理
date 可以用来显示或设定系统的日期与时间
date [参数选项]
参数
- -d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号;
-
- s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号;
- -u:显示GMT;
- -help:在线帮助;
- -version:显示版本信息
设置时间
date -s "2028-1-1 15:15:00"
查看时间
date
显示用户
logname命令用于显示用户名称。
logname [--help][--version]
参数;
- –help 在线帮助。
- –vesion 显示版本信息。
显示登录账号的信息
logname
切换账户
su命令用于变更为其他使用者的身份
语法:
su
从root管理员权限切换到其他用户,直接 su 用户名
su xiaohu
切换到上一级
exit
如果直接输入su就是要登录管理员账号
sudo执行
提高普通用户的操作权限
sudo:控制用户对系统命令的使用权限,root允许的操作
语法:
sudo -V
sudo -h
sudo -l
sudo -v
sudo -k
sudo -s
sudo -H
sudo [ -b ] [ -p prompt ] [ -u username/#uid] -s
sudo command
选项:
- -V 显示版本编号
- -h 会显示版本编号及指令的使用方式说明
- -l 显示出自己(执行 sudo 的使用者)的权限
- -v 因为 sudo 在第一次执行时或是在 N 分钟内没有执行(N 预设为五)会问密码,这个参数是重新做一次确认,如果超过 N 分钟,也会问密码
- -k 将会强迫使用者在下一次执行 sudo 时问密码(不论有没有超过 N 分钟)
- -b 将要执行的指令放在背景执行
- -p prompt 可以更改问密码的提示语,其中 %u 会代换为使用者的帐号名称, %h 会显示主机名称
- -u username/#uid 不加此参数,代表要以 root 的身份执行指令,而加了此参数,可以以 username 的身份执行指令(#uid 为该 username 的使用者号码)
- -s 执行环境变数中的 SHELL 所指定的 shell ,或是 /etc/passwd 里所指定的 shell
- -H 将环境变数中的 HOME 指定为要变更身份的使用者HOME目录(如不加 -u 参数就是系统管理者 root )
- command 要以系统管理者身份(或以 -u 更改为其他人)执行的指令
top
top命令用于实时显示 process 的动态。
显示进程信息
top
PID:进程ID
USER:进程的所有者
PR:进程的优先级
NI:
VIRT:占用的虚拟内存
RES:占用的物理内存
SHR:使用的共享内存
S:进行状态 S:休眠 R运行 Z僵尸进程 N nice值为负
f%CPU:占用的CPU
%MEM:占用内存
TIME+: 占用CPU的时间的累加值
COMMAND:启动命令
该命令可以通过pid单独查询某个进程内容
top -p 1
ps命令
ps命令用于显示当前进程 (process) 的状态信息
语法;
ps -ef | grep 进程名称
kill命令
kill命令用于删除执行中的程序或工作(可强制中断)
语法:
kill [-s <信息名称或编号>][程序] 或 kill [-l <信息编号>]
参数:
-
-l <信息编号> 若不加<信息编号>选项,则-l参数会列出全部的信息名称。
-
-s <信息名称或编号> 指定要送出的信息。
-
[程序] [程序]可以是程序的PID或是PGID,也可以是工作编号。
-
一般配合ps使用,ps 可以查到进程的pid
clear命令
clear命令用于清除屏幕
clear
ls (列出目录)
语法如下:
ls [选项] 目录名称
选项:
-
-a :全部的文件,连同隐藏档( 开头为 . 的文件) 一起列出来(常用)
-
-d :仅列出目录本身,而不是列出目录内的文件数据(常用)
-
-l :长数据串列出,包含文件的属性与权限等等数据;(常用)使用时可以简写为ll
ls -l
可以查看文件夹下文件的详细信息, 从左到右 依次是: -
权限(A区域 第一个字符如果是
d
表示目录 -
硬链接数(B区域 通俗的讲就是有多少种方式, 可以访问当前目录和文件
-
属主(C区域) 文件是所有者、或是叫做属主
-
属组(D区域) 文件属于哪个组
-
大小(E区域):文件大小
-
时间(F区域):最后一次访问时间
-
名称(G区域):文件的名称
pwd
pwd显示目前所在当前目录的命令。
pwd -P
cd
cd用来变换工作目录的命令
语法:
cd [相对路径或绝对路径]
mkdir(创建目录)
mkdir命令用于建立名称为 dirName 之子目录
语法:
mkdir [-p] dirName
参数;
-p 确保目录名称存在,不存在的就建一个
建立一个名为video
mkdir video
也可以直接创建套娃目录
mkdir -p aaa/bbb
rmdir(删空目录)
rmdir命令删除空的目录
语法:
rmdir [-p] dirName
参数:
-p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除。
rmdir video
rmdir -p aaa/bbb
cp(文件复制)
cp命令主要用于复制文件或目录
语法:
cp [options] source dest
参数说明:
- -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
- -d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
- -f:覆盖已经存在的目标文件而不给出提示。
- -i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
- -p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
- -r/R:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
- -l:不复制文件,只是生成链接文
rm(删除目录)
rm命令用于删除一个文件或者目录。
rm [options] name...
参数:
- -i 删除前逐一询问确认。
- -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
- -r 将目录及以下之档案亦逐一删除
rm -rf aaa ccc
mv(移动文件)
mv 命令用来为文件或目录改名、或将文件或目录移入其它位置
语法:
mv [options] source dest
mv [options] source... directory
参数:
- -i: 若指定目录已有同名文件,则先询问是否覆盖旧文件;
- -f: 在 mv 操作要覆盖某已有的目标文件时不给任何指示;
mv -i bbb.txt aaa/ccc
touch 创建文件
touch命令用来为创建文件
touch 文件名
创建一个txt文件
touch aaa.txt
chown更改属主和属组
Linux是多任务操作系统,所有的档案皆有拥有者。利用 chown 可以将档案的拥有者加以改变。一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。只有系统管理者(root)才有这样的权限
语法;
chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名
将aaa.txt加入xiaohu组
chown xiaohu aaa.txt
chmod权限命令
Linux文件属性有两种设置方法,一种是数字,一种是符号
Linux的文件调用权限分为三级 : 文件属主、属组、其他。利用 chmod 可以控制文件如何被他人所调用
语法:
chmod [-cfvR] [--help] [--version] mode file...
数字权限
Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限。
件的权限字符为:『-rwxrwxrwx』, 这九个权限是三个三个一组
用数字来代表各个权限,各权限的分数对照表如下
各权限的数字对照表:[r]:4;[w]:2;[x]:1;[-]:0
数字权限语法:
chmod -R 770 档案或目录
使用:
chmod -R 777 aaa.txt
符号权限
那么我们就可以使用 u, g, o 来代表三种身份的权限a 则代表 all,即全部的身份。读写的权限可以写成 r, w, x
chmod u=rx,g=rw,o=r a.txt