linux基本命令使用
创建用户
当前系统不存在用户,只有一个 root
# adduser [用户名]
创建完后,当前我们创建的用户是不能进行登陆的,我们还需要给它设置密码:
# passwd [用户名]

如果密码设置的太简单,会出现 BAD PASSWORD 的提示,但这也仅仅是个建议。
随后再输入一遍确认密码即可,这和我们网站注册一样,需要你 "确认密码" ;
查询当前用户( who am i ):
whoami
值得注意的是,现在命令行界面的前缀由 # 变为 $ 了。
这里我们先简单解释一下,# 代表 root管理员权限,$ 代表普通用户。
删除用户
在 root下,我们可以通过以下指令删除一个用户。
ls /home
userdel -r [用户名]
操作系统
键盘、显示器、网卡、显卡等各种设备……在底层它们都叫硬件;在硬件层上还存在着一个软件层,我们称之为 "驱动软件层" 。我们可以通过驱动软件层帮上层实现对硬件的基本访问。每一种硬件都有一种与之匹配的驱动程序。
OS 是一款软件,用来进行对软硬件资源进行管理的软件。
目录
ls
ls -a
ls -ll
ls -ltr
- -l 列出文件的详细信息。
- -r 对目录反向排序。
- -t 以时间排序。
- -s 在 l 文件名后输入该文件的大小(大小排序,如何找到目录下最大的文件)。
创建文件
touch mytest.c
删除普通文件
rm [文件名]
创建目录
mkdir books
mkdir -p xian/test/list //若路径中目录不存在,自动创建
ls xian/test
删除非空目录 [只能删除空目录]
rmdir xian/test/list/
ls xian/test
删除目录
rm -r xian //-r 表示递归,有询问过程
强制删除
rm -rf xian
显示当前路径
pwd
当前路径与上级路径
./appctl.sh
tail -200f ../logs/app.log
这里./appctl.sh 表示要执行当前路径下的appctl.sh批文件,而直接用appctl.sh 是不行的 ;
/ 根目录
$cd /
$ls
bin boot dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv static-python sys tmp usr var
~ 用户目录
cd ~
复制文件
cp file.txt file-bak.txt
cp file.txt ../test/dir/file.txt-1
拷贝目录
cp -r dir1 dir2
cp -rf [源目录] [目标目录]
移动文件
mv [文件] [新名字]
Linux 没有真正的回收站,不像 Windows 你删了可以去回收站找。Linux 中你删了就真的删了,但是如果你想 Linux 里也有像 Windows 那样的回收站,
我们通过 shell 脚本把 rm 改造成 mv,这个需要用 vim 去改。
vim ~/.bashrc #修改这个文件
mkdir -p ~/.trash
alias rm=trash
alias ur=undelfile
undelfile() {
mv -i ~/.trash/\$@ ./
}
trash() {
mv $@ ~/.trash/
}
查看文件内容
cat [选项][文件]
- -b 对非空输出行编号
- -n 对输出的所有行编号
- -s 不输出多行空行,多个空行只显示一行
cat 不适合打印长文本
倒着打印
tac cat 倒过来就是 tac
$ tac [文件]
tac 不能像 cat 一样 cat -n 带行号打印!
长文本查看
$ more large.txt
占满一个屏幕后就不往下显示了,如果想继续往下显示,按回车;
常用选项:
-n 指定每屏显示的行数
+n 从n行开发打印
按 Q 退出查看
按 空格 翻页


每按一次回车即到下一行,每按一次空格即下一页,直到看完为止。more有一个小小的劣势,就是只能往下查看,不支持后退 ;但这也不妨碍more命令依然是使用的最频繁的命令之一。
less
more 仅能向前移动,却不能向后移动,但 less 支持前后翻,更推荐使用 less。
可以使用 [pageup][pagedown] 等按键的功能来实现上下翻看文件;
mac 上的 pageup = fn+ ↑
pagedown = fn +↓
head & tail 指令
head [参数]... [文件]...
tail [参数]... [文件]...
- head 默认打印前10行内容,tail 默认打印后10行内容。如果想指定行数可以加 -n 选项。
- head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块。
- head 用来显示档案的开头至标准输出中,而 tail 自然就是看档案的结尾。
如果我想查看 large.txt 文本的 [30010,30020] 行的内容呢?
方法1:临时文件法
$head -30020 large.txt > temp.txt
$tail -10 temp.txt
Hello! 30011
Hello! 30012
Hello! 30013
Hello! 30014
Hello! 30015
Hello! 30016
Hello! 30017
Hello! 30018
Hello! 30019
Hello! 30020
方法2:|
$head -30020 large.txt |tail -10
输出重定向 >
$ echo "内容" > [目标]
追加重定向 >>
$ echo "内容" >> [目标]
查看当前时间
date
指定格式
date +%Y:%m:%d
%H : 小时(00..23)
%M : 分钟(00..59)
%S : 秒(00..61)
%X : 相当于 %H:%M:%S %d : 日 (01..31)
%m : 月份 (01..12)
%Y : 完整年份 (0000..9999)
%F : 相当于 %Y-%m-%d
查看当前时间戳
$date +%s
日历
$cal
August 2023
Su Mo Tu We Th Fr Sa
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

浙公网安备 33010602011771号