linux基本命令使用

创建用户
当前系统不存在用户,只有一个 root

# adduser [用户名]

创建完后,当前我们创建的用户是不能进行登陆的,我们还需要给它设置密码:

# passwd [用户名]

image
如果密码设置的太简单,会出现 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 退出查看
按 空格 翻页
image
image
每按一次回车即到下一行,每按一次空格即下一页,直到看完为止。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
posted @ 2023-08-14 09:45  北feng  阅读(27)  评论(0)    收藏  举报