Using Linux command on a regular basis? Today we’ll look at 50+ Linux commands you must know! The commands listed below are some of the most useful and most frequently used Linux commands. Let’s get right into it!
普通用户必须了解的前50个Linux命令 (Top 50 Linux Commands You Must Know as a Regular User)
ls – The most frequently used command in Linux to list directories ls – Linux中最常用的命令来列出目录
pwd – Print working directory command in Linux pwd – Linux中的打印工作目录命令
cd – Linux command to navigate through directories cd –用于浏览目录的Linux命令
mkdir – Command used to create directories in Linux mkdir –用于在Linux中创建目录的命令
mv – Move or rename files in Linux mv –在Linux中移动或重命名文件
cp – Similar usage as mv but for copying files in Linux cp –与mv类似,但用于在Linux中复制文件
rm – Delete files or directories rm –删除文件或目录
touch – Create blank/empty files 触摸 –创建空白/空文件
ln – Create symbolic links (shortcuts) to other files ln –创建指向其他文件的符号链接(快捷方式)
cat – Display file contents on the terminal cat –在终端上显示文件内容
clear – Clear the terminal display 清除 –清除终端显示
echo – Print any text that follows the command echo –打印命令后的所有文本
less – Linux command to display paged outputs in the terminal less – Linux命令在终端中显示页面输出
man – Access manual pages for all Linux commands man –访问所有Linux命令的手册页
uname – Linux command to get basic information about the OS uname –用于获取有关操作系统基本信息的Linux命令
whoami – Get the active username whoami –获取活动的用户名
tar – Command to extract and compress files in Linux tar –在Linux中提取和压缩文件的命令
grep – Search for a string within an output grep –在输出中搜索字符串
head – Return the specified number of lines from the top head –从顶部返回指定的行数
tail – Return the specified number of lines from the bottom tail –从底部返回指定的行数
diff – Find the difference between two files diff –查找两个文件之间的差异
cmp – Allows you to check if two files are identical cmp –允许您检查两个文件是否相同
comm – Combines the functionality of diff and cmp comm –结合了diff和cmp的功能
sort – Linux command to sort the content of a file while outputting sort – Linux命令在输出时对文件内容进行排序
export – Export environment variables in Linux 导出 –在Linux中导出环境变量
zip – Zip files in Linux zip – Linux中的Zip文件
unzip – Unzip files in Linux 解压缩 –在Linux中解压缩文件
ssh – Secure Shell command in Linux ssh – Linux中的Secure Shell命令
service – Linux command to start and stop services 服务 –用于启动和停止服务的Linux命令
ps – Display active processes ps –显示活动进程
kill and killall – Kill active processes by process ID or name kill and killall –按进程ID或名称杀死活动进程
df – Display disk filesystem information df –显示磁盘文件系统信息
mount – Mount file systems in Linux mount –在Linux中挂载文件系统
chmod – Command to change file permissions chmod –更改文件权限的命令
chown – Command for granting ownership of files or folders chown –授予文件或文件夹所有权的命令
ifconfig – Display network interfaces and IP addresses ifconfig –显示网络接口和IP地址
traceroute – Trace all the network hops to reach the destination traceroute –跟踪所有网络跃点以到达目的地
wget – Direct download files from the internet wget –从互联网直接下载文件
ufw – Firewall command ufw –防火墙命令
iptables – Base firewall for all other firewall utilities to interface with iptables –所有其他防火墙实用程序要与之交互的基本防火墙
apt, pacman, yum, rpm – Package managers depending on the distro apt,pacman,yum,rpm –取决于发行版的软件包管理器
sudo – Command to escalate privileges in Linux sudo –在Linux中升级特权的命令
cal – View a command-line calendar cal –查看命令行日历
alias – Create custom shortcuts for your regularly used commands 别名–为常用命令创建自定义快捷方式
dd – Majorly used for creating bootable USB sticks dd –主要用于创建可启动的USB记忆棒
whereis – Locate the binary, source, and manual pages for a command whereis –找到命令的二进制,源和手册页
whatis – Find what a command is used for whatis –查找命令的用途
top – View active processes live with their system usage 页首 –实时查看活动进程及其系统使用情况
useradd and usermod – Add new user or change existing users data useradd和usermod –添加新用户或更改现有用户数据
passwd – Create or update passwords for existing users passwd –为现有用户创建或更新密码
Now let’s dive a little deeper into each of these commands and understand them in more detail. We already have a lot of existing articles for each of those individual commands. For your convenience, we’ll add links to all the existing articles, and continue to update the article as new topics are covered.
The ls command is used to list files and directories in the current working directory. This is going to be one of the most frequently used Linux commands you must know of.
ls命令用于列出当前工作目录中的文件和目录。 这将成为您必须知道的最常用的Linux命令之一。
As you can see in the above image, using the command by itself without any arguments will give us an output with all the files and directories in the directory. The command offers a lot of flexibility in terms of displaying the data in the output.
Learn more about the ls command (link to full article)
了解有关ls命令的更多信息(链接到完整的文章)
Linux中的pwd命令 (The pwd command in Linux)
The pwd command allows you to print the current working directory on your terminal. It’s a very basic command and solves its purpose very well.
pwd命令允许您在终端上打印当前工作目录。 这是一个非常基本的命令,可以很好地解决其目的。
Now, your terminal prompt should usually have the complete directory anyway. But in case it doesn’t, this can be a quick command to see the directory that you’re in. Another application of this command is when creating scripts where this command can allow us to find the directory where the script has been saved.
While working within the terminal, moving around within directories is pretty much a necessity. The cd command is one of the important Linux commands you must know and it will help you to navigate through directories. Just type cd followed by directory as shown below.
As you can see in the above command, I simply typed cd /etc/ to get into the /etc directory. We used the pwd command to print the current working directory.
The mkdir command allows you to create directories from within the terminal. The default syntax is mkdir followed by the directory name.
mkdir命令允许您从终端内部创建目录。 默认语法为mkdir,后跟目录名称。
root@ubuntu:~# mkdir
As you can see in the above screenshot, we created the JournalDev directory with just this simple command.
如您在上面的屏幕快照中所见,我们仅使用此简单命令创建了JournalDev目录。
Learn more about the mkdir command (Link to article)
了解有关mkdir命令的更多信息(链接到文章)
cp和mv命令 (The cp and mv commands)
The cp and mv commands are equivalent to the copy-paste and cut-paste in Windows. But since Linux doesn’t really have a command for renaming files, we also make use of the mv command to rename files and folders.
In the above command, we created a copy of the file named Sample. Let’s see how what happens if we use the mv command in the same manner. For this demonstration, I’ll delete the Sample-Copy file.
In the above case, since we were moving the file within the same directory, it acted as rename. The file name is now changed.
在上述情况下,由于我们将文件移到同一目录中,因此它起了重命名的作用。 现在,文件名已更改。
Learn more about the cp command (Link to article) and mv command (Link to article).
了解有关cp命令(链接到文章)和mv命令(链接到文章)的更多信息 。
Linux中的rm命令 (The rm command in Linux)
In the previous section, we deleted the Sample-Copy file. The rm command is used to delete files and folders and is one of the important Linux commands you must know.
To delete a directory, you have to add the -r argument to it. Without the -r argument, rm command won’t delete directories.
要删除目录,必须在其中添加-r参数。 如果没有-r参数,则rm命令不会删除目录。
Linux中的touch命令 (The touch command in Linux)
To create a new file, the touch command will be used. The touch keyword followed by the file name will create a file in the current directory.
要创建一个新文件,将使用touch命令。 touch关键字后跟文件名将在当前目录中创建一个文件。
root@ubuntu:~# touch
Linux中的ln命令 (The ln command in Linux)
To create a link to another file, we use the ln command. This is one of the important Linux commands that you should know if you’re planning to work as a Linux administrator.
The basic syntax involves using the -s parameter so we can create a symbolic link or soft link.
基本语法涉及使用-s参数,因此我们可以创建符号链接或软链接。
cat,echo和less命令 (The cat, echo, and less commands)
When you want to output the contents of a file, or print anything to the terminal output, we make use of the cat or echo commands. Let’s see their basic usage. I’ve added some text to our New-File that we created earlier.
As you can see in the above example, the cat command when used on our “New-File”, prints the contents of the file. At the same time, when we use echo command, it simply prints whatever follows after the command.
The less command is used when the output printed by any command is larger than the screen space and needs scrolling. The less command allows use to break down the output and scroll through it with the use of the enter or space keys.
The simple way to do this is with the use of the pipe operator (|).
最简单的方法是使用管道运算符( | )。
root@ubuntu:~# cat /boot/grub/grub.cfg | less
Learn more about the echo command(Link to article) and cat command(Link to article).
了解有关echo命令(链接到文章)和cat命令(链接到文章)的更多信息 。
Linux中的man命令 (The man command in Linux)
The man command is a very useful Linux command you must know. When working with Linux, the packages that we download can have a lot of functionality. Knowing it all is impossible.
The man pages offer a really efficient way to know the functionality of pretty much all the packages that you can download using the package managers in your Linux distro.
The uname and whoami commands allow you to know some basic information which comes really handy when you work on multiple systems. In general, if you’re working with a single computer, you won’t really need it as often as someone who is a network administrator.
Let’s see the output of both the commands and the way we can use these.
让我们看看命令的输出以及我们使用它们的方式。
root@ubuntu:~# uname -a
The parameter -a which I’ve supplied to uname, stands for “all”. This prints out the complete information. If the parameter is not added, all you will get as the output is “Linux”.
To create an archive, we use the -c parameter and to extract an archive, we use the -x parameter. Let’s see it working.
要创建档案,我们使用-c参数,并使用-x参数提取档案。 让我们看看它的工作原理。
#Compress
root@ubuntu:~# tar -cvf
#Extract
root@ubuntu:~# tar -xvf
In the first line, we created an archive named Compress.tar with the New-File and New-File-Link. In the next command, we have extracted those files from the archive.
Now coming to the zip and unzip commands. Both these commands are very straight forward. You can use them without any parameters and they’ll work as intended. Let’s see an example below.
Since we already have those files in the same directory, the unzip command prompts us before overwriting those files.
由于我们已经在同一目录中拥有这些文件,因此unzip命令会在覆盖这些文件之前提示我们。
Learn more about the tar command (Link to article) and zip and unzip commands (Link to article)
了解有关tar命令(链接到文章)以及zip和unzip命令(链接到文章)的更多信息
Linux中的grep命令 (The grep command in Linux)
If you wish to search for a specific string within an output, the grep command comes into the picture. We can pipe (|) the output to the grep command and extract the required string.
This was a simple demonstration of the command. Learn more about the grep command (Link to article)
这是该命令的简单演示。 了解有关grep命令的更多信息(链接到文章)
头尾命令 (The head and tail commands)
When outputting large files, the head and the tail commands come in handy. I’ve created a file named “Words” with a lot of words arranged alphabetically in it. The head command will output the first 10 lines from the file, while the tail command will output the last 10. This also includes any blank lines and not just lines with text.
As you can see, the head command showed 10 lines from the top of the file.
如您所见,head命令从文件顶部显示了10行。
The tail command outputted the bottom 10 lines from the file.
tail命令从文件输出后10行。
Learn more about the tail command(Link to article)
了解有关tail命令的更多信息(链接到文章)
diff,comm和cmp命令 (The diff, comm, and cmp commands)
Linux offers multiple commands to compare files. The diff, comm, and cmp commands compare differences and are some of the most useful Linux commands you must know. Let’s see the default outputs for all the three commands.
As you can see above, I’ve added a small piece of text saying “This line is edited” to the New-File-Edited file.
如您在上面看到的,我在新文件编辑的文件中添加了一小段文字“此行已编辑”。
root@ubuntu:~# cmp
The cmp command only tells use the line number which is different. Not the actual text. Let’s see what the comm command does.
cmp命令仅告诉使用不同的行号。 不是实际的文字。 让我们看看comm命令的作用。
root@ubuntu:~# comm
The text that’s aligned to the left is the text that’s only present in file 1. The center-aligned text is present only in file 2. And the right-aligned text is present in both the files.
By the looks of it, comm command makes the most sense when we’re trying to compare larger files and would like to see everything arranged together.
从外观上看,当我们尝试比较较大的文件并希望看到所有排列在一起的文件时,comm命令最有意义。
Linux中的sort命令 (The sort command in Linux)
The sort command will provide a sorted output of the contents of a file. Let’s use the sort command without any parameters and see the output.
sort命令将提供文件内容的排序输出。 让我们使用不带任何参数的sort命令并查看输出。
The basic syntax of the sort command is:
sort命令的基本语法为:
root@ubuntu:~# sort
Linux中的export命令 (The export command in Linux)
The export command is specially used when exporting environment variables in runtime. For example, if I wanted to update the bash prompt, I’ll update the PS1 environment variable. The bash prompt will be updated with immediate effect.
If for some reason, your bash prompt doesn’t update, just type in bash and you should see the updated terminal prompt.
如果由于某种原因您的bash提示没有更新,只需键入bash ,您应该会看到更新后的终端提示。
Learn more about the export command(Link to article)
了解有关导出命令的更多信息(链接到文章)
Linux中的ssh命令 (The ssh command in Linux)
The ssh command allows us to connect to an external machine on the network with the use of the ssh protocol. The basic syntax of the ssh command is:
ssh命令允许我们使用ssh协议连接到网络上的外部计算机。 ssh命令的基本语法为:
root@ubuntu:~ -->> ssh username@hostname
Learn more about ssh command(Link to article)
了解有关ssh命令的更多信息(链接到文章)
Linux中的service命令 (The service command in Linux)
The service command in Linux is used for starting and stopping different services within the operating system. The basic syntax of the command is as below.
Linux中的service命令用于启动和停止操作系统中的不同服务。 该命令的基本语法如下。
root@ubuntu:~ -->> service ssh status
root@ubuntu:~ -->> service ssh stop
root@ubuntu:~ -->> service ssh start
As you can see in the image, the ssh server is running on our system.
正如您在图中所看到的,ssh服务器正在我们的系统上运行。
ps,kill和killall命令 (The ps, kill, and killall commands)
While we’re on the topic of processes, let’s see how we can find active processes and kill them. To find the running processes, we can simply type ps in the terminal prompt and get the list of running processes.
When I say mount, it means that we’ll connect the device to a folder so we can access the files from our filesystem. The default syntax to mount a filesystem is below:
root@ubuntu:~ -->> mount /dev/cdrom /mnt
root@ubuntu:~ -->> df -h
In the above case, /dev/cdrom is the device that needs to be mounted. Usually, a mountable device is found inside the /dev folder. /mnt is the destination folder to mount the device to. You can change it to any folder you want but I’ve used /mnt as it’s pretty much a system default folder for mounting devices.
To see the mounted devices and get more information about them, we make use of the df command. Just typing df will give us the data in bytes which is not readable. So we’ll use the -h parameter to make the data human-readable.
The chmod and chown commands give us the functionality to change the file permissions and file ownership are the most important Linux commands you should know.
The main difference between the functions of the two commands is that the chmod command allows changing file permissions, while chown allows us to change the file owners.
In the above example, we’re adding executable permissions to the loop.sh file with the chmod command. Apart from that, with the chown command, we’ve made it accessible only by root user and users within the root group.
As you will notice, the root root part is now changed to www-data which is the new user who has full file ownership.
您将注意到, 根根部分现在更改为www-data ,这是具有完全文件所有权的新用户。
Learn more about the chmod command(Link to article) and chown command (Link to article)
了解有关chmod命令(链接到文章)和chown命令(链接到文章)的更多信息
ifconfig和traceroute命令 (The ifconfig and traceroute commands)
Moving on to the networking section in Linux, we come across the ifconfig and traceroute commands which will be frequently used if you manage a network.
The ifconfig command will give you the list of all the network interfaces along with the IP addresses, MAC addresses and other information about the interface.
ifconfig命令将为您提供所有网络接口的列表以及IP地址,MAC地址和有关该接口的其他信息。
root@ubuntu:~ -->> ifconfig
There are multiple parameters that can be used but we’ll work with the basic command here.
可以使用多个参数,但是这里我们将使用基本命令。
When working with traceroute, you can simply specify the IP address, the hostname or the domain name of the endpoint.
使用traceroute时,您只需指定端点的IP地址,主机名或域名。
root@ubuntu:~ -->> traceroute
Now obviously, localhost is just one hop (which is the network interface itself). You can try this same command with any other domain name or IP address to see all the routers that your data packets pass through to reach the destination.
Learn more about the ifconfig command(Link to article)
了解有关ifconfig命令的更多信息(链接到文章)
Linux中的wget命令 (The wget command in Linux)
If you want to download a file from within the terminal, the wget command is one of the handiest command-line utilities available. This will be one of the important Linux commands you should know when working with source files.
When you specify the link for download, it has to directly be a link to the file. If the file cannot be accessed by the wget command, it will simply download the webpage in HTML format instead of the actual file that you wanted.
Let’s try an example. The basic syntax of the wget command is :
让我们尝试一个例子。 wget命令的基本语法为:
root@ubuntu:~ -->> wget
OR
root@ubuntu:~ -->> wget -c
The -c argument allows us to resume an interrupted download.
-c参数允许我们恢复中断的下载。
ufw和iptables命令 (The ufw and iptables commands)
UFW and IPTables are firewall interfaces for the Linux Kernel’s netfilter firewall. IPTables directly passes firewall rules to netfilter while UFW configures the rules in IPTables which then sends those rules to netfilter.
Why do we need UFW when we have IPTables? Because IPTables is pretty difficult for a newbie. UFW makes things extremely easy. See the below example where we are trying to allow the port 80 for our webserver.
I’m sure you now know why UFW was created! Look at how easy the syntax becomes. Both these firewalls are very comprehensive and can allow you to create any kind of configuration required for your network. Learn at least the basics of UFW or IPTables firewall as these are the Linux commands you must know.
Learn more opening ports on Linux(Link to article)
了解更多有关在Linux上打开端口的信息(链接到文章)
Linux中的软件包管理器 (Package Managers in Linux)
Different distros of Linux make use of different package managers. Since we’re working on a Ubuntu server, we have the apt package manager. But for someone working on a Fedora, Red Hat, Arch, or Centos machine, the package manager will be different.
Red Hat and Red Hat-based distros – yum install 红帽和基于红帽的发行版 – yum install <程序包名称>
Fedora and CentOS – yum install Fedora和CentOS – yum安装
Getting yourself well versed with the package manager of your distribution will make things much easier for you in the long run. So even if you have a GUI based package management tool installed, try an make use of the CLI based tool before you move on to the GUI utility. Add these to your list of Linux commands you must know.
This is the quote that’s displayed when a sudo enabled user(sudoer) first makes use of the sudo command to escalate privileges. This command is equivalent to having logged in as root (based on what permissions you have as a sudoer).
Just add the word sudo before any command that you need to run with escalated privileges and that’s it. It’s very simple to use, but can also be an added security risk if a malicious user gains access to a sudoer.
Learn more about the sudo command (Link to article)
了解有关sudo命令的更多信息(链接到文章)
Linux中的cal命令 (The cal command in Linux)
Ever wanted to view the calendar in the terminal? Me neither! But there apparently are people who wanted it to happen and well here it is.
是否曾经想在终端中查看日历? 我也不! 但是显然有人希望它发生,而且很好。
The cal command displays a well-presented calendar on the terminal. Just enter the word cal on your terminal prompt.
cal命令在终端上显示清晰的日历。 只需在终端提示上输入单词cal。
root@ubuntu:~# cal
root@ubuntu:~# cal May 2019
Even though I don’t need it, it’s a really cool addition! I’m sure there are people who are terminal fans and this is a really amazing option for them.
Do you have some commands that you run very frequently while using the terminal? It could be rm -r or ls -l, or it could be something longer like tar -xvzf. This is one of the productivity-boosting Linux commands you must know.
If you know a command that you run very often, it’s time to create an alias. What’s an alias? In simple terms, it’s another name for a command that you’ve defined.
root@ubuntu:~# alias lsl="ls -l"
OR
root@ubuntu:~# alias rmd="rm -r"
Now every time you enter lsl or rmd in the terminal, you’ll receive the output that you’d have received if you had used the full commands.
现在,每次在终端中输入lsl或rmd时 ,您都会收到使用完整命令后收到的输出。
The examples here are for really small commands that you can still type by hand every time. But in some situations where a command has too many arguments that you need to type, it’s best to create a shorthand version of the same.
This command was created to convert and copy files from multiple file system formats. In the current day, the command is simply used to create bootable USB for Linux but there still are some things important you can do with the command.
The whatis command gives us an explanation of what a command actually is. Similar to the whereis command, you’ll receive the information for any command that you type after the whatis command.
root@ubuntu:~# whatis sudo
sudo (8) - execute a command as another user
Linux中的最高命令 (The top command in Linux)
A few sections earlier, we talked about the ps command. You observed that the ps command will output the active processes and end itself.
在前面的几节中,我们讨论了ps命令。 您观察到ps命令将输出活动进程并结束自身。
The top command is like a CLI version of the task manager in Windows. You get a live view of the processes and all the information accompanying those processes like memory usage, CPU usage, etc.
To get the top command, all you need to do is type the word top in your terminal.
要获得top命令,您需要做的就是在终端中键入单词top 。
useradd和usermod命令 (The useradd and usermod commands)
The useradd or adduser commands are the exact same commands where adduser is just a symbolic link to the useradd command. This command allows us to create a new user in Linux.
The above command will create a new user named JournalDev with the home directory as /home/JD.
上面的命令将创建一个名为JournalDev的新用户,其主目录为/ home / JD 。
The usermod command, on the other hand, is used to modify existing users. You can modify any value of the user including the groups, the permissions, etc.
另一方面, usermod命令用于修改现有用户。 您可以修改用户的任何值,包括组,权限等。
For example, if you want to add more groups to the user, you can type in:
例如,如果要向用户添加更多组,可以输入:
root@ubuntu:~# usermod JournalDev -a -G sudo, audio, mysql
Learn more on how to create and manage users on Linux (Link to article)
了解有关如何在Linux上创建和管理用户的更多信息(链接到文章)
Linux中的passwd命令 (The passwd command in Linux)
Now that you know how to create new users, let’s also set the password for them. The passwd command lets you set the password for your own account, or if you have the permissions, set the password for other accounts.
If you add the username after passwd, you can set passwords for other users. Enter the new password twice and you’re done. That’s it! You will have a new password set for the user!
This happened to be a very long article but I’m sure will be something you can refer to whenever required. As we add more articles to JournalDev, we will continue to add links to those articles here.
系统中统计数据,由于调用统计过程,执行时间超过了weblogic设置的时间,提示如下错误:
统计数据出错!
原因:The transaction is no longer active - status: 'Rolling Back. [Reason=weblogic.transaction.internal
Totally five patchs committed to erlang otp, just small patchs.
IMO, erlang really is a interesting programming language, I really like its concurrency feature.
but the functional programming style
两个步骤:
1.用w命令找到要踢出的用户,比如下面:
[root@localhost ~]# w
18:16:55 up 39 days, 8:27, 3 users, load average: 0.03, 0.03, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
package edu.xidian.graph;
class MyStack {
private final int SIZE = 20;
private int[] st;
private int top;
public MyStack() {
st = new int[SIZE];
top = -1;
}
public void push(i