linux 基础命令使用

命令

su

用于切换到另一个用户身份,通常是超级用户(root)。su命令可以用来在命令行下切换用户,也可以在脚本中使用。

语法:

su [选项] [用户名]

选项:

- -c:执行完命令后,立即退出su命令;

- -f:使用当前用户的环境变量;

- -l:使用目标用户的环境变量;

- -m:使用目标用户的环境变量,并且保持当前目录不变;

- -s:指定要使用的shell。

示例:

要切换到root用户,可以使用以下命令:

 su - 

在输入密码后,就可以切换到root用户了。如果要切换到其他用户,可以使用以下命令:

su - username

其中,username是要切换到的用户名。

su username 和 su - username 的区别

`su username` 是切换到指定的用户账号,但是不会改变当前的工作目录和环境变量。

`su - username` 是切换到指定的用户账号,并且同时切换到该用户的家目录,同时也会加载该用户的环境变量。 因此,使用 `su - username` 可以保证在切换用户后,能够获得该用户的完整环境,包括 PATH 等环境变量,以及当前的工作目录。

pwd

用于显示当前工作目录的绝对路径。

语法:

pwd [OPTION]

常用选项:

- `-L`:显示符号链接所指向的目录路径

- `-P`:显示实际路径,而非符号链接所指向的路径

示例:

$ pwd 
/home/user 

在上面的示例中,`pwd`命令显示当前工作目录的绝对路径为`/home/user`。

ls

ls命令 用于列出当前目录下的文件和子目录

常用的ls命令选项包括:

- -l:以长格式显示文件或目录的详细信息,包括文件类型、权限、所有者、大小、创建时间等。

- -a:显示所有文件和目录,包括以“.”开头的隐藏文件。

- -h:以人类可读的方式显示文件大小,如“1K”、“2M”等。

- -t:按照修改时间排序,最新修改的文件或目录排在最前面。

- -r:反向排序,按照字母顺序逆序排列文件或目录。

示例:

- ls:列出当前目录下的所有文件和目录。

- ls -l:以长格式显示当前目录下的所有文件和目录。

- ls -a:显示当前目录下的所有文件和目录,包括隐藏文件。

- ls -lh:以人类可读的方式显示当前目录下的所有文件和目录的大小。

- ls -lt:按照修改时间排序,显示当前目录下的所有文件和目录。 - ls -r:按照字母顺序逆序排列当前目录下的所有文件和目录。

ll

`ll`命令是`ls -l`的一个别名,用于显示当前目录下所有文件和子目录的详细信息,包括文件的权限、所有者、大小、修改时间等。

语法:

ll [选项] [文件或目录]

常用选项:

- `-a`:显示所有文件,包括隐藏文件。

- `-h`:以人类可读的方式显示文件大小。

- `-r`:反向排序。

- `-t`:按照修改时间排序。

示例:

要查看当前目录下所有文件和子目录的详细信息,可以使用以下命令:

ll 

要查看当前目录下名为`test`的子目录的详细信息,可以使用以下命令:

ll test

mv

用于移动或重命名文件或目录。

语法:

mv [选项] 源文件或目录 目标文件或目录

其中,选项可以是:

- -f:强制移动或重命名,如果目标文件或目录已存在则覆盖。

- -i:交互式移动或重命名,如果目标文件或目录已存在则询问是否覆盖。

- -u:更新目标文件或目录,如果源文件或目录比目标文件或目录新则执行移动或重命名。

示例:

1. 将文件file1.txt移动到目录dir1中:

mv file1.txt dir1/

2. 将文件file1.txt重命名为file2.txt:

mv file1.txt file2.txt

3. 将目录dir1重命名为dir2:

mv dir1/ dir2/

4. 将目录dir1及其所有子目录和文件移动到目录dir2中:

mv dir1/ dir2/

注意:如果目标文件或目录已存在,则默认情况下mv命令不会覆盖,需要使用选项-f或-i来强制覆盖或询问。

netstat

用于显示网络状态信息,可以查看网络连接、路由表、接口状态等。

常用的netstat命令选项:

1. netstat -a:显示所有连接和监听端口

2. netstat -t:显示TCP连接

3. netstat -u:显示UDP连接

4. netstat -n:以数字形式显示地址和端口号

5. netstat -p:显示与进程相关的信息

6. netstat -r:显示路由表

7. netstat -s:显示网络统计信息

8. netstat -l:仅显示本地连接,不显示远程连接

示例:

要查看所有TCP连接的详细信息,可以使用命令:netstat -atn。

要查看与进程相关的TCP连接信息,可以使用命令:netstat -tp。

查看网络连接和端口占用情况,可以使用命令: netstat -nlp 8081。

ps

用于查看当前系统中正在运行的进程信息。

下面是一些常用的ps命令选项:

1. ps -ef:列出所有进程信息,包括进程的详细信息和父进程ID。

2. ps -aux:列出所有进程信息,包括进程的详细信息和用户ID。

3. ps -e:列出所有正在运行的进程。

4. ps -f:以完整格式列出进程信息,包括进程的UID、PID、PPID、CPU使用率、内存使用率等。

5. ps -l:以长格式列出进程信息,包括进程的UID、PID、PPID、CPU使用率、内存使用率等。

6. ps -t:列出指定终端上运行的所有进程。

7. ps -p:列出指定进程ID的详细信息。

8. ps -H:列出进程树,显示进程之间的关系。

9. ps -C:列出指定命令的进程信息。

10. ps -N:列出不符合指定条件的进程信息。

11. ps -M:显示进程的内存映像信息。

12. ps -G:列出指定组ID的进程信息。

13. ps -U:列出指定用户ID的进程信息。

grep

是一种文本搜索工具,用于在文件中查找特定的字符串模式。

以下是一些常见的grep命令用法:

1. 在文件中查找一个字符串:

grep "string" filename

2. 查找多个文件中的字符串:

grep "string" file1 file2 file3

3. 查找一个目录中的所有文件中的字符串:

grep "string" directory/*

4. 查找并显示匹配行的行号:

grep -n "string" filename

5. 查找并显示不匹配的行:

grep -v "string" filename

6. 使用正则表达式进行高级搜索:

grep -E "regex" filename

7. 查找并显示匹配字符串前后的几行:

grep -A num "string" filename 
# 显示匹配行及其后num行 grep -B num "string" filename 
# 显示匹配行及其前num行 grep -C num "string" filename 
# 显示匹配行及其前后各num行

以上是一些常见的grep命令用法,还有更多高级用法可以通过`man grep`命令查看。

find

用于在指定的目录下查找文件或目录。它可以根据多种条件来查找文件,如文件名、文件类型、文件大小、文件权限等等。

下面是一些常用的find命令示例:

1. 查找当前目录下所有的文件和目录:

find .

2. 查找指定目录下所有的文件和目录:

find /path/to/directory

3. 查找指定目录下以某个文件名开头的文件:

find /path/to/directory -name "filename*"

4. 查找指定目录下以某个文件名结尾的文件:

find /path/to/directory -name "*filename"

5. 查找指定目录下包含某个关键字的文件:

find /path/to/directory -name "*keyword*"

6. 查找指定目录下的所有目录:

find /path/to/directory -type d

7. 查找指定目录下的所有文件:

find /path/to/directory -type f

8. 查找指定目录下大于某个文件大小的文件:

find /path/to/directory -size +10M

9. 查找指定目录下小于某个文件大小的文件:

find /path/to/directory -size -10M

10. 查找指定目录下最近修改过的文件:

find /path/to/directory -mtime -7

以上是一些常用的find命令示例,更多用法可以查看find命令的帮助文档。

vim

Vim是Linux下最常用的文本编辑器之一。

以下是一些常用的Vim命令:

1. 打开文件:vim filename

2. 保存文件:按下Esc键,然后输入:wq

3. 不保存文件:按下Esc键,然后输入:q!

4. 光标移动:h(左)、j(下)、k(上)、l(右)

5. 搜索:按下Esc键,然后输入/要搜索的内容

6. 替换:按下Esc键,然后输入:%s/要替换的内容/替换后的内容/g

7. 撤销:按下Esc键,然后输入:u

8. 重做:按下Esc键,然后输入:Ctrl+r

9. 复制:按下Esc键,然后输入yy

10. 剪切:按下Esc键,然后输入dd

11. 粘贴:按下Esc键,然后输入p

以上是一些常用的Vim命令,还有很多其他的命令可以使用。

kill

用于向进程发送信号,以控制进程的行为。kill命令可以根据进程ID或进程名来指定要发送信号的进程。

下面是一些常用的kill命令选项:

- -s:指定要发送的信号类型,如-9表示强制终止进程。

- -l:列出所有可用的信号类型。

- -u:指定要发送信号的用户。

- -p:指定要发送信号的进程ID。

示例:

要终止进程ID为1234的进程,可以使用以下命令:

kill 1234

如果要强制终止该进程,可以使用以下命令:

kill -9 1234

如果要终止所有属于用户tom的进程,可以使用以下命令:

kill -u tom

tail

tail命令用于查看文件的末尾内容,默认情况下显示文件的最后10行。

以下是tail命令的一些常用选项:

- -f:实时跟踪文件的变化,显示新添加到文件末尾的内容。

- -n:指定要显示的行数,例如-n 20表示显示最后20行。

- -c:显示最后指定字节数的内容,例如-c 100表示显示最后100个字节。

- -q:禁止显示文件名。

- -s:指定输出行之间的时间间隔。

示例:

要查看文件test.log的最后20行内容,可以使用以下命令:

tail -n 20 test.log

要实时跟踪文件test.log的变化,可以使用以下命令:

tail -f test.log

nohup

一种使命令在后台运行的方法,并且即使用户退出终端,命令也能够继续运行的工具。

nohup命令的语法如下:

nohup command &

其中,command是要运行的命令,&符号表示将命令放到后台运行,并且不受当前终端的控制。 使用nohup命令可以避免在运行长时间命令时,由于网络中断或者用户退出终端等原因,导致命令被中断的情况。nohup命令会将命令输出重定向到一个名为nohup.out的文件中,可以通过查看该文件来了解命令的执行情况。

示例:

后台运行一个Java程序,并将程序输出重定向到一个名为root.log的文件中

nohup java -jar ../demo.jar >../root.log 2>&1 &

- nohup:表示不挂断地运行命令,即使终端关闭或用户注销也不会停止该命令的执行。

- java -jar ../demo.jar:表示运行一个名为demo.jar的Java程序。

- >../root.log:表示将程序输出重定向到一个名为root.log的文件中,>表示覆盖原有文件,如果要追加到原有文件末尾,可以使用>>。

- 2>&1:表示将标准错误输出重定向到标准输出,即将错误信息也写入root.log文件中。

- &:表示将该命令放到后台运行。

chown

chown命令用于改变文件或目录的所有者。

chown命令的语法如下:

chown [选项] [所有者][:组] 文件或目录

其中,选项包括:
- `-c`:只在文件或目录的所有者发生变化时才显示信息;
- `-f`:不显示错误信息;
- `-h`:对符号链接文件解除链接后更改其所有者;
- `-R`:递归更改指定目录及其子目录中的所有文件和目录的所有者;
- `-v`:显示详细的操作信息。

示例:

1. 将文件file.txt的所有者更改为user1:

chown user1 file.txt

2. 将目录dir1及其子目录中的所有文件和目录的所有者更改为user1:

chown -R user1 dir1

3. 将文件file.txt的所有者更改为user1,组更改为group1:

chown user1:group1 file.txt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值